X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fmackie%2FTODO;h=2573e0f05b7d734921dcde972b0ae790f4945641;hb=d0668e55114be299cbf5e348c73588756e931cfe;hp=903a8bb23d17490cabe5e7e7a113a71a6af7feae;hpb=7182cd75e367ad97f978827c1bf4f875b46c6776;p=ardour.git diff --git a/libs/surfaces/mackie/TODO b/libs/surfaces/mackie/TODO index 903a8bb23d..2573e0f05b 100644 --- a/libs/surfaces/mackie/TODO +++ b/libs/surfaces/mackie/TODO @@ -1,21 +1,51 @@ -* 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. -* finish button mapping. +* implement handle_port_inactive properly +* two bcf doesn't work +* remappable buttons (OSC or Surfax?) +* 7/1 configurable to 8 +* need an object that can encapsulate different port types, ie BCF vs MCU. Not at the surface level. +* finish button implementations. * 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 -* remove couts -* docs in manual, including button assignment diagram + +MCU +--- +* if mackie wheel moves too fast, it's ignored. +* gain/panner display in second line +* metering on second line +* per-strip signal led +* midi bandwidth? +* Zoom buttons, from Jean-Martin Barbut. In fact I'm a bit desappointed with those functions, because I was used + to use the 4 "N-E-S-W" buttons to zoom in and out with horizontal + buttons and zoom in/out on track height with vertical buttons. That is + with the zoom button in. with the zoom button off, it selects tracks + with vertical buttons and selects regions with horizontal buttons. This + was quite useful. The fact that the zoom button switches the wheel to + zoom is fine, but it would be great to also have the track/region + selection and the track height available from those buttons. I.e : you + select a track with the vertical arrows and you increase/decrease the + eight of the track with the zoom btn on. This combined with the region + selection allows to zoom in a region (vertical and horizontal zoom) very + easily. + Later ----- +* 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. +* alsa/sequencer ports unstable. possibly problems with use of ::poll +* use glib::Timer instead of mine. Actually don't because it's not very useable. +* crash when mmc port set to mcu? +* remove commented couts +* Perhaps MackieControlProtocol shouldn't implement MackieButtonHandler +* Need a HostAdapter class to encapsulate ardour calls +* talk to route plugins +* check for excessiveness (ie too many events making other subsystems work too hard) * Queueing of writes? * Generic surface code to common location -* bulk remote id changes cause too many surface updates +* bulk remote id changes cause too many surface updates. use Config->remote_model. * which bank switching - overlap or dead faders? Option? * signals for buttons? * MackieControlProtocol in namespace Mackie? @@ -23,24 +53,16 @@ Later * mix busses and/or a "bus-only" bank/mode * what about surfaces like Mackie C4 and BCR2000? -Need UI integration -------------------- +UI integration +-------------- + +* maybe use current snap state for jog wheel and ffwd/rew * 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. +* when using alsa/sequencer, some midi events intended for mcu port end up being + read by the seq port. +* MIDI::Port::type() returns _type, which is undefined. It might be in the descriptor +* auditioner doesn't connect to master 1 and master 2 - it loses the spaces.