Part of #1
What to build #
Gear plugged into this Mac follows Groove's tempo and transport: a drum machine started from Groove's Play starts on the beat, and stops when Groove stops.
- MIDI outputs are listed in the settings: every MIDI port this Mac has, plus one of Groove's own, ATMOSYNTH Groove, which other apps see as a source without the IAC Driver being turned on.
- Which MIDI outputs are sent the clock is a machine setting, the same for every document.
- Each MIDI output has an offset in milliseconds, a machine setting, positive when the gear is slow. Everything sent to an output leaves early enough that the gear sounds when Groove's own audio for that moment leaves the speakers: ahead by the output device's latency, plus that offset.
- The clock, as atmosynth.at sends it (
src/audio/midi-clock.jsinatmosynth-audio-engine), from an arrangement and from a patch document:- pulses, 24 to a beat, whenever the audio device is open, following the tempo map;
- Play from the start sends Start; Play from anywhere else sends Song Position, then Continue;
- Stop sends Stop;
- the loop range going back, or the playhead moved while playing, sends Stop, Song Position, Continue;
- in a count-in, the pulses run and Start or Continue lands where the recording begins;
- in a room, the clock follows the room's count, which is what is heard.
- The out MIDI light flashes for Start, Stop, Continue and Song Position, never for the pulses alone.