-
Notifications
You must be signed in to change notification settings - Fork 1
trrichard/ScarlettMixer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Info: A mixer interface for the Focusrite Scarlett series. Dependencies: docopt alsaaudio wx Mixer Diagram <ditaa> /--------------\ 18chn 6chn /--------------\ | Hardware in +--+-------\ /------+--+ ALSA PCM out | \--------------/ | | | | \--------------/ | | | | | v v | | +---------------+ | | \ Matrix Mux / | | +-----+-----+ | | | | | | 18chn | | v | | +-----------+ | | | Mixer | | | | Matrix | | | | | | | | 18x6 Gain | | | | stages | | | +-----+-----+ | | | | | | | | 18chn | 6chn | 6chn v v v ========================= +---------------+ +--—------------+ \ Output Mux / \ Capture Mux / +-----+-----+ +-----+-----+ | | | 6chn | v | +-------------+ | | Master Gain | | +------+------+ | | | | 6chn | 18chn | (3 stereo pairs) | /--------------\ | | /--------------\ | Hardware out |<--/ \-->| ALSA PCM in | \--------------/ \--------------/ </ditaa> Model getHardwareOutputMuxChannels [ list of names? ] getSoftwareOutputMuxChannels [ list of names? ] getHardwareInputMuxChannels [ list of names? ] getSoftwareInputMuxChannels [ list of names? ] getMatrixMuxInputChannels [ number of channels? ] getMatrixMuxOutputChannels [ number of channels? ] getMatrixMuxMap { from hw/sw input channels to matrix numbers } getMatrix [input(18)][output(6)] => gain setMatrixMuxMap { ... } Initial Functionality Reqs Route Mixes as Stereo (A&B C&D E&F) Selection of inputs. Stereo joining of inputs TODO: Currently the output mixers are fused to the outputs Mixes are hardcoded as stereo Hard code the AB CD etc outputs to monitors and headphones Add Save To Hardware button? Maybe do it automaticaly? Some way of managing all the poll descriptors in nonblocking/callback way Clean out code base Stereo Binding Toggle switches for special features (turning on and off line level etc) Missing Master controls Break out panning/reorganize to a different place Refactor ScarlettMixerAdaptor Reload Pan/Gain matrix at startup Test on other scarletts Set pan to 50% with a button DONE Bug in order of the muxes Observer pattern isn't going to work for this. WX requires event queues. This has a temp fix, using file descriptors and a single poll() method for the whole GUI. This may be impractical but seems to be okay for now. Sliders seem to work LR Pan works now UML How should I model the fading/panning strategy? Mix Groups? A+B C+D E+F Input === Input Channel === Fader === Mix Groups === Output Mix || || Fading Strategy
About
A graphical Mixing Console for designed for use with the Focusrite Scarlett
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published