1
0
Fork 0

Compare commits

...

8 Commits

Author SHA1 Message Date
Icedream cb963b0986
Document physical inputs and outputs for NDI+Live Mix. 2025-04-28 23:23:21 +02:00
Icedream 777a5522ad
Change to local AOO server. 2025-04-28 23:16:26 +02:00
Icedream 733f44302b
Change SonoBus output.
The new layout is all stereo, 3x Main, the rest are Voice.
2025-04-28 23:06:06 +02:00
Icedream e5229b09a5
Remove send-out of mixed audio via SonoBus.
This gets rid of the Ambiguous lighting and the extra CPU load along with the
failing latency calculation.
2025-04-28 23:03:12 +02:00
Icedream daab6fe522
Remove direct connections from SonoBos to Mix 1. 2025-04-28 23:00:04 +02:00
Icedream 8488145e9d
Fix types on stream API response. 2025-04-28 14:43:52 +02:00
Icedream 3677a36f07
Disable automatic streaming to SI. 2025-04-28 14:43:36 +02:00
Icedream 89fbe54279
Add base NDI + Live Mix Ardour project file. 2025-04-28 14:24:11 +02:00
4 changed files with 45317 additions and 9 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,19 @@
# NDI + Live Mix Ardour project
- Audio interface: Steinberg UR-44
## Physical connections
### Inputs
- Input Front 1: *unused*
- Input Front 2: RODE NT-USB *via 3.5mm* - goes to **Local Mic**
- Input Front 3: RODE NT1 5th gen *via XLR, +48V* - goes to **Local Mic**
- Input Front 4: *unused*
- Input Back 1: Denon Prime 4 L - goes to **DJ Mix**
- Input Back 2: Denon Prime 4 R - goes to **DJ Mix**
### Outputs
- Output Front Headphones 1: **Mix 1** - for previewing processed output
- Output Front Headphones 2: **Mix 2** - for previewing unprocessed output

View File

@ -192,7 +192,7 @@ if null.defined(streaminginternet_username) and null.defined(streaminginternet_p
name=null.get(stream_name),
description=null.get(stream_description),
password=null.get(streaminginternet_password),
start=true,
start=false,
%ogg(%flac),
a,
))

View File

@ -30,15 +30,27 @@ def setup_harbor_stream_api(s) =
], data=json.stringify([]))
end
def normalize_float(f) =
if float.is_infinite(f) or float.is_nan(f) then
0.
else
f
end
end
def on_info(_) =
data = [
("id", s.id()),
("last_metadata", json.stringify(s.last_metadata())),
("is_up", json.stringify(s.is_up())),
("is_started", json.stringify(s.is_started())),
("is_ready", json.stringify(s.is_ready())),
("is_active", json.stringify(s.is_active())),
]
data = {
duration = normalize_float(s.duration()),
elapsed = normalize_float(s.elapsed()),
id = s.id(),
is_active = s.is_active(),
is_ready = s.is_ready(),
is_started = s.is_started(),
is_up = s.is_up(),
last_metadata = s.last_metadata(),
remaining = normalize_float(s.remaining()),
time = normalize_float(s.time()),
}
http.response(status_code=200, headers=[
("content-type","application/json"),
], data=json.stringify(data))