-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.scd
70 lines (57 loc) · 2.53 KB
/
main.scd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
Hyperorgan MIDI / OSC sync over vpn (or om local network)
v0.2 draft
W. Snoei 2021
** run in SuperCollider on macOS **
To operate:
- check "My Name" field (this name will show up at the remote machines)
- set the MIDI In to your desired MIDI input (or leave it on "all")
- set the output mode to what your organ prefers (MIDI or OSC)
- if MIDI, set the MIDI Out to the port connected to your organ
- check if "my ip" is correct (press "fetch" or enter manually)
- press "(re)start" once
- press the "send invites" button
- if the "accept (n)" button shows up, press it.
- if the "accept (n)" button stays hidden, try "send invites" again
- if the "accept (n)" button never shows up, something is not right:
- perhaps the others aren't ready yet
- perhaps your vpn connection doesn't function yet
- perhaps something else
(- the accept button will also show up if others sent you an invitation)
- after accepting the invitations, a list should appear with all the known organs on the network
- for each:
- open the organ's (sub) window by pressing the button with its name
- in that window, press "ping"
- if red square next to "ping" doesn't become green:
- ping again
- press "(re)start", and ping again
- if that doesn't do it, something else is wrong
- if the rectangle next to "ping" is green:
- press the "use advised" button for latency,
- and we're off!
- if at some point something changes in the network configuration:
- the remotes can be removed with their 'x' buttons
- remove all remotes and repeat the invitation process, from checking "my ip" onwards
*/
(
// load all files in correct order
[
"sync.scd", // engine for sending timed messages over (vpn) network
"bo.scd", // the OSC implementation of the Orgelpark Baroque organ
"note tracker.scd", // simple utility to track note on/off status
"local organ.scd", // engine for the local organ
"gui.scd", // a GUI interface
"spoof midiOuts.scd", // for SuperCollider users; use in Pbind (for example)
].do({ |item|
(thisProcess.nowExecutingPath.dirname +/+ item).load;
});
~local_organ.makeWindow;
~local_organ.safeMode = true; // on by default for 2023 symposium
)
/*
~local_organ.auxOSCMIDIChannels = [0]; //last manuals of OSC will instead send to this MIDI channel
~local_organ.midiChannels = [ 0,1,2,3 ]; // pedals, manual 1, 2, 3; can also be set in gui
~bo.postOSC = true; // stops posting messages in OSC mode
~bo.postOSC = false; // stops posting messages in OSC mode
~local_organ.makeMIDIOuts; // if you use spoof midiOuts, call this after every change of remotes
*/