ATMOSYNTH Groove: a desktop DAW whose instruments and effects are ATMOSYNTH patches, on ATproto.

The clock, following, gear and mix tests share one test device #31

Closed opened by center.for.cybernetic.beauty

Part of #26

Three test modules each define their own struct Device: clock_out.rs:213 (a mix with an out ring, clocked before each render, messages back with their moments), following.rs:145, and gear.rs:195, which wanted the clock's plus a MIDI ring and presence and could not have it, because the first is private to its module, as are mix.rs's own prepared, render and rms. The third copy was written on 2 November. Done when one #[cfg(test)] mod device holds a device the four can build (mix, out ring, MIDI ring, presence, a clock before each render, messages back with their moments), and the clock_out, following, gear and mix tests use it, with no struct Device of their own left. mix.rs is past 10,000 lines; moving a helper out of it is this ticket's, moving the clip walk is not.

Done in 9d3d36d. src-tauri/src/device.rs, built only under test, holds one Device: a mix called back in callbacks of 300 frames, each told its moment first, a ring of what goes out to MIDI outputs read back with each message's moment, which outputs are there, and a ring of MIDI in. mix.rs's prepared, prepared_in, scored, render and rms moved there. The clock's, gear's and the follower's tests build it and hold no struct Device of their own; what only a room has (the server's clock offset, the arpeggios told, where a note was last heard begin) stays in the follower's tests as Joined, around a Device. Three mutants of the device each went red; cargo test --workspace passes 1202, as before.

Sign up or Sign in to add to the discussion.