Commit graph

350 commits

Author SHA1 Message Date
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
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