Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

24 Commits

Folders and files

NameName
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

19 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /