* how long can UI signal callbacks take to execute? What happens if they block? where ENSURE_CORRECT_THREAD is a macro that is modelled on ENSURE_GUI_THREAD if the handler is not called in the "correct thread", it will use a pseudo-RT-safe-enough technique to get the correct thread to recall "handler" later on, and return. * jog with transport rolling doesn't work properly. My use of ScrollTimeline also doesn't work. * make sure rew button can go past the previous if pressed twice, relatively quickly. * finish button mapping. * concurrency for bank switching? And make sure "old" events aren't sent to "new" faders * TODOs in code * removal of a route results in a strip that isn't dead, but doesn't have any effect on the session * use i18n. see string_compose * docs in manual, including button assignment diagram Later ----- * remove commented couts * Queueing of writes? * Generic surface code to common location * bulk remote id changes cause too many surface updates * which bank switching - overlap or dead faders? Option? * signals for buttons? * MackieControlProtocol in namespace Mackie? * power-cycling of surface. fd_midiport doesn't close. * mix busses and/or a "bus-only" bank/mode * what about surfaces like Mackie C4 and BCR2000? Need UI integration ------------------- * Some indication on the UI of currently bank-switched-in routes? Useful for surfaces that don't have a scribble strip. * use current zoom setting and snap state for shuttle wheel Actual Mackie ------------- * docs claim that unit will send a host query on init. * test Mackie surface object. Apparently led rings don't work. Stereo busses? * timecode & 55 char displays * midi bandwidth Bugs ---- * get_state isn't called on deactivate. Huh? What did I mean here? * routes "forget" their remote_id between session save and the next session load * definitely something wrong with remote_id assignment on session create (master strip assigned 0). * editor window doesn't update route remote_control_id when it's updated in mixer window.