View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002655 | ardour | bugs | public | 2009-05-04 20:26 | 2011-11-02 01:25 |
Reporter | dhess | Assigned To | paul | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | feedback | Resolution | open | ||
Product Version | 2.8 | ||||
Target Version | 2.8.12 | ||||
Summary | 0002655: Generic MIDI control - controllable not found in session | ||||
Description | A bunch of "controllables" can be bound to MIDI CC controllers and are working fine DURING the session but get ignored when RE-OPENING the project. Examples for ignored "controllables" during re-opening: controllable name="recenable" controllable name="Lo gain (dB)" (LADSPA plugin) controllable name="Hi gain (dB)" (LADSPA plugin) Actually I cannot manage to assign MIDI CC controllers to any LADSPA controller or re-enable button in a persistent way. Binding works for the duration of a session but are ignored when re-opening the project. Attached the *.ardour XML description for a small test project with just one stereo track plus master track. When opening with recent Ardour2 v2.8, following warnings appear in the log window: WARNING]: Generic MIDI control: controllable 398 not found in session (ignored) [WARNING]: Generic MIDI control: controllable 122 not found in session (ignored) [WARNING]: Generic MIDI control: controllable 120 not found in session (ignored) [WARNING]: Generic MIDI control: controllable 124 not found in session (ignored) When saving session afterwards the related controllable entries are not longer listed in <controls> class. In source code I can find the thrown warning in ardour-2.8/libs/surfaces/generic_midi/generic_midi_control_protocol.cc It seems some controllable IDs cannot be identified in struct Session& s Big limitation that bindings to external MIDI control surface are not persistent i.e. rec-enable or LADSPA controllers. Hopefully not a big deal to get it fixed soon (although I saw similar issues reported long time ago for ardour-2.0.1 or so). | ||||
Additional Information | - OS: Linux beta 2.6.29.1-rt9-2-rt 0000001 SMP PREEMPT RT 2009-04-26 19:45:29 +0200 x86_64 x86_64 x86_64 GNU/Linux) - Ardour2: v2.8 built from revision 4918 - reproducable on Linux/i586 as well - reproducable with Ardour v2.7.1 | ||||
Tags | No tags attached. | ||||
2009-05-04 20:26
|
|
2009-07-16 00:51
|
MidiControl.patch (1,926 bytes)
diff -cr 2.0-ongoing/gtk2_ardour/ardour_ui.cc MyArdour/gtk2_ardour/ardour_ui.cc *** 2.0-ongoing/gtk2_ardour/ardour_ui.cc 2009-07-16 10:05:49.000000000 +1000 --- MyArdour/gtk2_ardour/ardour_ui.cc 2009-07-16 10:47:38.000000000 +1000 *************** *** 64,69 **** --- 64,70 ---- #include <ardour/recent_sessions.h> #include <ardour/port.h> #include <ardour/audio_track.h> + #include <ardour/control_protocol_manager.h> typedef uint64_t microseconds_t; *************** *** 2536,2541 **** --- 2537,2556 ---- goto out; } + /* Now the session been created, add the transport controls */ + new_session->add_controllable(&roll_controllable); + new_session->add_controllable(&stop_controllable); + new_session->add_controllable(&goto_start_controllable); + new_session->add_controllable(&goto_end_controllable); + new_session->add_controllable(&auto_loop_controllable); + new_session->add_controllable(&play_selection_controllable); + new_session->add_controllable(&rec_controllable); + + /* Once the transport controlls have been added, the ControlProtocolManager + is okay to instantiate the various protocols. */ + BootMessage (_("Reset Control Protocols")); + ControlProtocolManager::instance().set_session (*new_session); + connect_to_session (new_session); Config->set_current_owner (ConfigVariableBase::Interface); diff -cr 2.0-ongoing/libs/ardour/session_state.cc MyArdour/libs/ardour/session_state.cc *** 2.0-ongoing/libs/ardour/session_state.cc 2009-07-16 10:06:23.000000000 +1000 --- MyArdour/libs/ardour/session_state.cc 2009-07-16 10:47:46.000000000 +1000 *************** *** 337,346 **** /* initial program change will be delivered later; see ::config_changed() */ - BootMessage (_("Reset Control Protocols")); - - ControlProtocolManager::instance().set_session (*this); - if (new_session) { _end_location_is_free = true; } else { --- 337,342 ---- |
|
Assigned to Paul to take a look at the patch. |
|
patch committed (2.X - not applicable to 3.0) rev 6798. thanks. |
|
I think the controllable 7 (shuttle) should also be taken care of... |
|
is this still an issue? |
|
I just experienced the very same problem (no LADSPA bindings were kept after reloading the session), with Ardour 2.8.11 rev. 7387. So yes, I suppose it's always an issue. |
|
Are there any changes in the version 2.8.12? This bug has this version as the target, but I have the same problem after installing the 2.8.12 version. Thanks |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-05-04 20:26 | dhess | New Issue | |
2009-05-04 20:26 | dhess | File Added: test.ardour | |
2009-07-16 00:51 | JackUzi | File Added: MidiControl.patch | |
2009-07-16 01:12 | seablade | Status | new => assigned |
2009-07-16 01:12 | seablade | Assigned To | => paul |
2009-07-16 01:12 | seablade | Note Added: 0006434 | |
2010-03-26 16:42 | paul | Note Added: 0007423 | |
2010-04-24 10:28 | cth103 | Category | bugs => bugs2 |
2010-04-24 10:29 | cth103 | Category | bugs2 => bugs |
2010-09-22 01:36 | lucus | Note Added: 0009134 | |
2011-03-02 02:10 | paul | Note Added: 0010238 | |
2011-03-02 02:10 | paul | Status | assigned => feedback |
2011-08-08 14:21 | orlammd | Note Added: 0011265 | |
2011-08-12 16:01 | cth103 | cost | => 0.00 |
2011-08-12 16:01 | cth103 | Target Version | => 2.8.12 |
2011-11-02 01:25 | stanislav | Note Added: 0011871 |