View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004262 | ardour | features | public | 2011-08-12 13:15 | 2020-04-19 20:15 |
Reporter | in0giro | Assigned To | cth103 | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Platform | Intel Core2 Duo | OS | Gentoo amd64 + Pro-Audio overlay | OS Version | stable |
Target Version | 3.0-beta2 | ||||
Summary | 0004262: binding Actions for toggling route's solo and mute states | ||||
Description | i am requesting Actions (such as those in ardour.bindings) that could be mapped to keyboard shortcuts (via ardour.bindings) or MIDI messages (via MIDI map bindings) that toggle a track/bus/route's solo and mute states, as is already available for a route's active and recordable/record armed states (via the Track menu in the Editor window). i plan to use these both via keyboard shortcuts to improve my workflow and also for a MIDI map with a control surface. in general, i think they would be useful for others in both of the above situations. the Actions could look like: /Editor/Track/mute-toggle /Editor/Track/solo-toggle /Editor/Track/solo-isolate-toggle thanks. | ||||
Tags | No tags attached. | ||||
|
I second this request for toggle functionality. From the midi bindings standpoint, a modifier similar to the momentary="yes" but toggle="yes" would suffice. I will mention that somehow this functionality already exists but I can not figure out why. If I use the midi binding maps to map to, say, overall record enable, that CS button will turn on the function, but not toggle it. However, if I map it by CTRL-MiddleClick, then I DO get the toggle functionality. I just can't figure out how to put that into a bindings map. I will post another request for a further feature that would allow specification of a 2 byte control match that would be helpful for this, as well as several other things also. |
|
i'm thinking about a syntax somewhat along these lines: Binding msg="b0 %% %%" function="solo-track" arguments="%1, %2" which would then set the solo of the track with the controller number (%1) as its RID to on/off depending on the controller value (%2). also, like this: Binding msg="b0 03 %%" function="solo-selected-track" arguments="%1" which would cause channel 0, controller #3 to operate on the selected track(s) (and bus(ses)) and would set the solo status depending on the controller value (%1). still working on ideas for this. |
|
thus the MIDI mapping "functions" available now can take parameters, which come from the MIDI message content? it seems like a more general purpose method to better support any control surface, as long as there are enough functions available. do these functions only work with "msg" bindings? or with ctl/note/sysex/etc. as well? could these functions easily map to existing Actions? and what is RID? however, this seems like a more long term item. i still think that in the interim just having more Actions available would be very useful, namely toggling solo and mute. and not just for the MIDI map, but for keyboard workflows as well. though i imagine that in adding the Actions as requested in this bug, there is more work involved than meets the eye ... as usual ;) |
|
RID = Remote ID (a unique identifier for tracks that is independent of on-screen ordering/visibility or name). the main drawback of this model is that its less efficient than the one that uses a URI. when you use a URI to define the target of the binding, the target can be looked up once (at binding time and/or bank change time), and then used very cheaply afterwards. if you make the target of the binding either defined by the message content (as in my first example) or implicit (e.g. the current selected track(s)) then the target has to be looked up every time a message arrives. |
|
rev 9990 now contains 2 new functioning actions: Editor/track-solo-toggle Editor/track-mute-toggle that can be invoked by a MIDI binding. there is one for solo isolate too, but its not currently functional. i may also change the name of these actions. |
|
thanks, i will give it a try. so this would work for having 2 buttons on a control surface toggle the solo and mute state of the currently selected track, and would be used for example with <Binding msg="b0 50 7f" action="Editor/track-solo-toggle"/> <Binding msg="b0 51 7f" action="Editor/track-mute-toggle"/> correct? or is there a way to specify the bank relative destination as a parameter to this functioning action (i assume no)? also, can these functions also be bound to a key shortcut by adding the appropriate action line in ardour.bindings? i guess the next step/request is for a way to bind a MIDI message to a bank relative toggle of a route's solo/mute state. is this coming along in your function+parameters idea discussed above? thanks as always. |
|
those examples are correct. and yes, the actions can be used in a bindings file BUT they may not work because of a limitation in GTK that sort-of-requires that all bound actions appear in a menu somewhere. they currently do not. the new actions always apply to the currently selected tracks/busses. |
|
is adding the new actions to the menu possible outside of editing source code (e.g. RC file)? |
|
Some menus are defined in gtk2_ardour/ardour.menus.in Can this report be considered resolved? |
|
the Actions Editor/track-solo-toggle Editor/track-mute-toggle are available and work when bound to a MIDI msg, so technically the bug is fixed. however, it would be nice to have these Actions also available as menu items, so that they can be bound to keyboard shortcuts (Paul indicated above that due to a quirk of GTK, they have to be available in a menu before they can be tied to a keyboard shortcut). i assume that something like the following would have to be added to gtk2_ardour/ardour.menus.in under <menu action='TrackMenu'> : <menuitem action='track-solo-toggle'/> <menuitem action='track-mute-toggle'/> should i open a new bug for this? or is it something that can be simply added before closing this bug? thanks. |
|
OK, that should be fixed in SVN 10735. |
|
thanks, but with A3 SVN rev. 10739 i do not see menu items in the main menu/Track for toggle solo and mute? am i just missing them? |
|
we found a way to do it without them. |
|
OK. however, it would still be nice to have these toggle actions for the current route "bindable" to a keyboard shortcut. another bug report? |
|
i don't think you understood. we found a way to make actions bindable to keys without them being in a menu. |
|
OK, sounds good. i have tried it and it works, thanks again. however, i still think that these 2 functions deserve to be in the Track menu, along with toggle active state and record enable, as they will prob be used often, and currently there is no other way to discover available actions to bind key shortcuts to. for those looking for the cut/paste answer, add something like this to your ~/.config/ardour3/ardour.bindings file: (gtk_accel_path "<Actions>/Editor/track-solo-toggle" "<Shift><Alt>s") (gtk_accel_path "<Actions>/Editor/track-mute-toggle" "<Shift><Alt>m") |
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-08-12 13:15 | in0giro | New Issue | |
2011-08-12 16:01 | cth103 | cost | => 0.00 |
2011-08-12 16:01 | cth103 | Target Version | => 3.0-beta1 |
2011-08-12 16:46 | lhm100 | Note Added: 0011314 | |
2011-08-13 18:17 | paul | Note Added: 0011328 | |
2011-08-13 19:00 | in0giro | Note Added: 0011329 | |
2011-08-13 19:09 | paul | Note Added: 0011330 | |
2011-08-14 16:02 | paul | Note Added: 0011346 | |
2011-08-15 02:16 | in0giro | Note Added: 0011352 | |
2011-08-15 11:40 | paul | Note Added: 0011355 | |
2011-08-15 18:43 | in0giro | Note Added: 0011358 | |
2011-11-14 16:56 | cth103 | Note Added: 0012010 | |
2011-11-14 16:56 | cth103 | Status | new => feedback |
2011-11-15 15:47 | cth103 | Target Version | 3.0-beta1 => 3.0-beta2 |
2011-11-21 03:33 | in0giro | Note Added: 0012151 | |
2011-11-21 17:33 | cth103 | Note Added: 0012160 | |
2011-11-21 17:33 | cth103 | Status | feedback => resolved |
2011-11-21 17:33 | cth103 | Resolution | open => fixed |
2011-11-21 17:33 | cth103 | Assigned To | => cth103 |
2011-11-21 19:53 | in0giro | Note Added: 0012162 | |
2011-11-21 20:11 | paul | Note Added: 0012163 | |
2011-11-21 20:13 | in0giro | Note Added: 0012164 | |
2011-11-21 20:41 | paul | Note Added: 0012165 | |
2011-11-27 14:13 | in0giro | Note Added: 0012220 | |
2020-04-19 20:15 | system | Note Added: 0022714 | |
2020-04-19 20:15 | system | Status | resolved => closed |