Commit Graph

348 Commits

Author SHA1 Message Date
Paul Davis d0cdd0c9db somewhat functional menu to control KeyEnforcementPolicy
And yes, this should likely be global, not per track
2021-11-18 14:17:21 -07:00
Paul Davis 9f4bf02980 change type of MidiTrack's key enforcement to new enum type 2021-11-18 11:16:50 -07:00
Paul Davis 331377212e tweak menu item names to be more reflective of common (western) practice 2021-11-18 10:36:31 -07:00
Paul Davis 2bb880aac0 midi track redisplay when mode/root is changed 2021-11-18 08:30:46 -07:00
Paul Davis 4648785935 prefer major/minor to ionian/aeolian (but show both names) 2021-11-18 08:30:46 -07:00
Paul Davis 6cdbd4174d Implement mode/root context menus and modification methods to MidiTimeAxisView 2021-11-18 08:30:46 -07:00
Ben Loftis 252ae56a08 MIDI Draw: change behavior regarding MIDI Channel of new notes
When adding a note, use these criteria to choose the channel number:
* if the user has explicitly specified a note in the pulldown, use that
* if the user has AUTO selected and we are in a region, choose the nearest note's channel (consistent with velocity behavior)
* as a fallback, query the track for its channel-filter (old behavior)
2021-11-18 08:23:08 -06:00
Ben Loftis 93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
Paul Davis 19d99b0a4b fix logic of MIdiTimeAxisView::add_region() to interoperate correctly with editor source list 2021-08-28 16:00:53 -06:00
Paul Davis b451a50b95 use explicit timepos_t() for region start property in property lists (gui edition) 2021-08-13 12:51:31 -06:00
Paul Davis 2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Robin Gareus ab6d46c24c
Add GUI control to block MIDI patch change on session load 2021-07-13 03:29:28 +02:00
Paul Davis 084d7e221b centralize naming of a couple of context menus 2021-05-13 10:29:19 -06:00
Robin Gareus 9b4d330285
Remove unused variable
`ignore_toggle` is never set to true.
2021-01-29 02:58:25 +01:00
Robin Gareus d0e1ed403c
Update some messages 2020-10-17 18:28:10 +02:00
Robin Gareus 198f97e126
Ask before showing 2k automation lanes 2020-09-07 16:57:55 +02:00
Robin Gareus 23ffa8b89c
Significantly speed up displaying of all MIDI automation lanes 2020-09-07 16:57:51 +02:00
Robin Gareus 68082abc22
Fix track-header visibility for inactive tracks
This supersedes 0708cdb6b4, an explicit `name_label.show()`
is not needed. The inactive label was missing an explicit call
to show.

This also fixes MIDI track MIDNAM Selector visibility
2020-07-10 18:16:18 +02:00
Robin Gareus a47fac7638
Fix MIDNAM model (MMA > Generic) fallback 2020-05-03 20:48:06 +02:00
Paul Davis 65f7a6a938 changes to deal with region/note selection when changing into/out of internal edit mode
Also, activate MIDI editing actions so that they are effective in internal edit mode
2020-04-16 17:48:12 -06:00
Robin Gareus 4e43aaef64
Add automation lane for poly-key-pressure 2020-04-15 15:37:54 +02:00
Robin Gareus b955bb04ec
Only CCs can have custom MIDNAM labels 2020-04-15 15:37:23 +02:00
Robin Gareus 2d18d512e3
NO-OP: whitespace 2020-04-15 15:22:53 +02:00
Robin Gareus a3af5e31f1
Update labels in MIDI Automation Lanes when MIDNAM changes 2020-04-15 02:38:18 +02:00
Robin Gareus 4130bc3a86
Update CC Automation menu when MIDNAM changes 2020-04-15 01:51:05 +02:00
Robin Gareus 4b9f6208e7
Limited listed CC-channels to ChannelNameSet channels 2020-04-15 01:51:05 +02:00
Robin Gareus 3cd2ad85af
Fix restoring custom MIDNAM #7984 2020-04-07 14:16:53 +02:00
Robin Gareus 11f28a4b1d
NO-OP: cleanup and remove debug messages 2020-04-03 14:49:03 +02:00
Robin Gareus 714e2f1736
Optimize MTAV creation, speed up new MIDI track
This removes various duplicate code-paths leading to midi-model
updates, and expensive context-menu rebuilds. This significantly
speeds up MIDI track creation.
2020-04-03 03:42:56 +02:00
Robin Gareus 42af08fb92
Consolidate MIDNAM control display code 2020-04-01 23:26:13 +02:00
Robin Gareus 8d28115ec7
Update MIDNAM handling in GUI
* Always use InstrumentInfo for lookups.
  Remove name lookups that directly used gui_property()
* Use set/get_gui_property() only to save/restore state,
  push custom selection to InstrumentInfo.
* Only store custom selection, use unset for "default"
  default = plugin-provided (if available) otherwise general-midi
2020-04-01 16:33:40 +02:00
Robin Gareus 370f7bb30f
Propagate MIDNAM selection to Route
Most of Ardour's GUI queries route->instrument_info() for MIDNAM.
This is a minimal invasive hotfix to update the PatchChange
dialog and patch-names on the timeline when the MIDNAM selection
changes.

This got lost in de74cca6b8.
2020-04-01 00:53:27 +02:00
Paul Davis 4dc74813ef avoid setting midnam-model-name in GUI properties when there are no device modes for that model 2020-02-20 00:26:29 -07:00
Paul Davis 0d1eb8c96c expand comment 2020-02-11 17:40:38 -07:00
Paul Davis a48a2b26de remove unnecessary code
There's no reason to store the first device mode in a gui property if the model is also not a gui property
2020-02-11 17:40:07 -07:00
Paul Davis 9d60197ffb remove unnecessary code
If there's no GUI property for the MIDNAM model name, and the plugin has no MIDNAM, there's no reason to set the property to the default

It will pick up the default ("Generic") during update_patch_selector() calling into model_changed
2020-02-11 14:16:47 -07:00
Paul Davis ca28404a2a NOOP: line unwrapping and vertical spacing 2020-02-11 13:59:05 -07:00
Paul Davis de74cca6b8 further attempts to rationalize MIDNAM mess
Attempt to re-use GUI property for MIDNAM device mode, and if it doesn't exist, use the first from the model's device mode list.

Also require at least one device mode in the MIDNAM file (via assert) - consider anything else to be malformed
2020-02-11 13:41:44 -07:00
Paul Davis d5c1ad805d NOOP: add whitespace/blank line 2020-02-07 12:20:11 -07:00
Paul Davis 46277acb40 Fix incorrect assignment of MIDNAM device mode 2020-02-07 12:20:11 -07:00
Paul Davis e93150cb3f NOOP: remove line wrapping 2020-02-07 12:20:11 -07:00
Paul Davis 8242478da5 try to fix awful confusion and misbehavior for plugin-provided MIDNAM situations
We do not store the MIDNAM model as a GUIObject property if the using the plugin-provided MIDNAM. Selecting a different MIDNAM for
the plugin should now result in that choice being saved/restored correctly.

This all feels crazily complicated, but I don't want to change more of the architecture at this time
2020-02-06 14:43:58 -07:00
Paul Davis 55d158816e NOOP: avoid unnecessary and distracting line wrapping 2020-02-06 14:43:58 -07:00
Paul Davis ee43db8b54 revert/change part of a666429d12 so that user-selected non-plugin MIDNAM model names are still shown (they were already used) 2020-02-05 12:53:15 -07:00
Robin Gareus 6914671736
Propagate ::route_active_changed() methods 2020-01-22 01:35:18 +01:00
Ben Loftis d8d737adc4 Make it more obvious when a track is Inactive
Inactive tracks will now hide all controls and display only the track name
 in parenthesis.

Color-change is not sufficient by itself to distinguish an inactive track
 from an active one  (consider the case of just 2 tracks...)
2020-01-20 16:03:22 -06:00
Paul Davis 799ec6a8f1 use new method in MidiPatchManager to use MIDNAM data when setting a MidiTimeAxisView 2019-12-23 10:27:00 -07:00
Robin Gareus d4ad9e3486
Make BusSendLevel 1st class citizen (2/2) 2019-12-14 15:06:34 +01:00
Robin Gareus a666429d12
Fix MIDNAM device list for plugin-provided names 2019-11-13 23:00:55 +01:00
Robin Gareus 39fa4103f7
Allow to override plugin-provided MIDNAM 2019-11-12 17:00:50 +01:00