-
Notifications
You must be signed in to change notification settings - Fork 1
Latest commit
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
19 stars
Watchers
6 watching