Commit Graph

355 Commits

Author SHA1 Message Date
Paul Davis 2797ea9666 remove unusued "MIDI underlay" cruft 2023-06-26 14:18:17 -06:00
Paul Davis fcba147acd remove concept of a velocity time axis view, just use velocity region view 2023-06-26 14:18:17 -06:00
Paul Davis ea6717f041 empty, useless velocity lane for MIDI tracks 2023-06-26 14:18:17 -06:00
Paul Davis 6cb4d01f1f add velocity item to MIDI track automation menu 2023-06-26 14:18:17 -06:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus 8113633bb9
Cleanup Track Automation kids
Send levels are dedicated to each send (Processor), and
not route-owned direct child automation for each time-axis.
2022-10-14 02:21:50 +02:00
Robin Gareus a3806e2946
Implement Draw-tool opaqueness option 2022-09-19 23:40:58 +02:00
Robin Gareus 97f0fac7d5
Copy region properties (2/2) - see prev commit 2022-09-19 22:49:42 +02:00
Paul Davis 9ea1e5bdee move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (GUI) 2022-08-10 21:11:52 -06:00
Robin Gareus b8ebdbc44a
Fix showing automation lane on touch
In the past ui-change event "track_height" was used to force
a redraw. This changed in c1fb7bc05d
2022-04-26 00:26:02 +02:00
Paul Davis a3c5db5d51 ensure that non-drag track height changes cause a call to Editor::redisplay_track_views() 2022-04-05 20:52:10 -06:00
Robin Gareus 5d7ff24130
Hide scroomer when using layered mode
In layered mode the scroomer is not usable with stacked MIDI regions.

Ideally we'd only hide it if there is more than one layer
but that is for another day.
2022-03-29 01:30:51 +02:00
luz paz 364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05: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