Ben Loftis
3186a85b0c
PropertyBoxen: add some proposed audio-region property controls. (can be squashed)
2021-12-02 11:26:17 -06:00
Ben Loftis
7635e5e6a2
Property Boxen: handle more {audio|midi} cases; move code around. (can be squashed)
2021-12-02 10:50:19 -06:00
Ben Loftis
ab44ede65d
Property Boxen: populate the Trigger page with property-editor placeholders
2021-12-01 23:52:03 -06:00
Ben Loftis
99ce14558b
PropertyBoxen: provide all slot property editors in a popup dialog (?)
2021-12-01 23:51:18 -06:00
Ben Loftis
2b0eb2ac5d
squash to de-canvas
2021-12-01 23:50:16 -06:00
Ben Loftis
c07a7736b7
PropertyBoxen: move selection-properties into the sidebar
2021-12-01 23:08:51 -06:00
Ben Loftis
aff4715eb2
PropertyBoxen: initial draft of property-editing widgets that follow the Selection
2021-12-01 23:08:51 -06:00
Ben Loftis
f315778d10
PropertyBoxen: Publish some region operations to PublicEditor so we can access them more easily
2021-12-01 23:08:51 -06:00
Ben Loftis
f5a9c7118c
Trigger_UI: De-Canvas the trigger_ui widget so it can be reused in other places
2021-12-01 22:35:25 -06:00
Ben Loftis
87b052085e
Trigger_UI: change API to use set_trigger() instead of constructor arg
2021-12-01 22:35:25 -06:00
Ben Loftis
0e60872950
Selection: Region Operations in a Slot need a RegionView proxy (ToDo)
2021-12-01 22:35:25 -06:00
Ben Loftis
210fa7a97a
Selection: make trigger slots more exclusive wrt some other selectables
2021-12-01 22:35:25 -06:00
Robin Gareus
59b012ddb0
Implement TriggerStrip and TriggerPage (WIP)
2021-12-01 23:10:08 +01:00
Robin Gareus
9ce604bc03
New Tabbable: Trigger-Page skeleton
2021-12-01 23:10:08 +01:00
Robin Gareus
229a8aea13
Add option to toggle TriggerBox PI
...
This does not show/hide the Triggerbox in the Mixer itself,
it only sets the presentation-info flag (to be used on the Trigger Page).
2021-12-01 23:10:07 +01:00
Paul Davis
f584335f28
follow Beats API change in MidiRegionView::paste_internal()
2021-11-29 21:50:29 -07:00
Ben Loftis
60e522f4ee
MIDI Program Changes: Fix some thinkos in patch-change flag locations
...
Program Changes are stored as an offset from the 'source' start, and must be translated to/from region time.
Better locating of patches wrt the grid:
You can't assume time_to_pixel is steady across the timeline
* calculate position of the patch-change flag
* calculate region start position, and set flag's x offset from there
also: consolidate patch-location code into display_patch_changes()
2021-11-23 14:14:35 -06:00
Ben Loftis
c27bfde045
MIDI Program Changes: prevent patch-changes from moving after every edit by the dialog.
...
The clock widget shows absolute time but must be converted to+from source time
2021-11-23 14:14:35 -06:00
Ben Loftis
5212fc9677
MIDI Program Changes: dragging patches was resulting in the wrong location or disappearing altogether
...
a Program Change's position is referenced from the midi Source which might not be the same as the region start
2021-11-23 14:14:35 -06:00
Ben Loftis
ec88635555
MIDI Draw: potential workaround for sticky menu items at startup
2021-11-19 13:01:54 -06:00
Ben Loftis
84111a343e
Deinterlace MIDI: gui part
2021-11-19 10:28:37 -06:00
Ben Loftis
ca7e133e3d
MIDI Draw: fix thinko in length=Auto
2021-11-19 10:28:37 -06:00
Paul Davis
bc6766fc3f
midi region view: fix crashes when adding notes
...
A region may have no notes, or none in the correct time range. Finding
a note to get channel or velocity info from may fail
2021-11-18 10:03:34 -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
eebf3717e3
MIDI Draw: note-length-auto means 'use the Grid for note-length' (prior behavior)
2021-11-18 07:35:13 -06:00
Ben Loftis
93e68a5a00
MIDI Draw: provide a menu for Channel and Velocity
2021-11-18 07:35:13 -06:00
Ben Loftis
2a6da0113f
MIDI Draw: Provide a menu to explicitly select note-length
...
ToDo: 3,5,7's? keyboard shortcuts?
2021-11-18 07:35:13 -06:00
Paul Davis
c24cabead0
GUI changes to follow TempoMap::sample_at() API changes
2021-11-17 15:57:30 -07:00
Paul Davis
fd5594f831
use Editor::reassociate_metric_markers() before performing edits on tempo map
...
The objects referenced by markers point to the copy of the map held by the per-thread ptr. But
the edits must be done on a writable copy of the map. ::reassociate_metric_markers() fixes
the references to use the writable copy, so that when we pass references to the objects in the map
to the writable copy, it will find them and modify them (rather then ones in the previous
generation of the tempo map)
2021-11-17 12:16:39 -07:00
Paul Davis
18e851cd73
catch too-early use of PublicEditor::instance()
2021-11-17 12:16:39 -07:00
Paul Davis
710c5b9b78
do not use PublicEditor::instance() in MainClock, since these obejcts can exist before the editor
...
The AudioEngine on the other hand is created in the global libardour init method, so use that instead
2021-11-17 12:16:39 -07:00
Paul Davis
f0cd3b5c0c
editor: when the tempo map changes, update the per-thread pointer
...
TempoMap::use() merely returns the current per-thread tempo map
pointer; if a change is signalled, we should force an update
of the per-thread ptr via TempoMap::fetch()
2021-11-17 12:16:38 -07:00
Paul Davis
dd4e495d90
audioclock: use correct call for "right now" tempo display
2021-11-17 12:16:38 -07:00
Paul Davis
2735022357
audio_clock: fix uninitalized variable
2021-11-17 12:16:38 -07:00
Ben Loftis
f6adf9c897
MIDI Import: gtk part
2021-11-14 08:21:00 -06:00
Ben Loftis
4c472ca1c5
TriggerSlot: Remove Queued menu-item (for now)
2021-11-13 15:54:11 -06:00
Paul Davis
85fc3d5629
add missing file
2021-11-10 21:16:27 -07:00
Paul Davis
4f58a92c6d
show trigger/slot selection
2021-11-10 17:51:04 -07:00
Paul Davis
a9949f20e6
basic architecture for Trigger selection
...
This is all done in the GUI, using GUI objects. THe primary goal
here is to allow actions to be applied to selected triggers, so
there's no real need for a trigger aspect to libardour (core)
selection.
2021-11-10 16:37:15 -07:00
Paul Davis
0d96753364
remove unused variable
2021-11-10 11:55:20 -07:00
Paul Davis
605daf23f2
add default bindings for note shortening
2021-11-06 10:21:31 -06:00
Paul Davis
8cfdd0ca5b
add actions to provide access to note-shortening
2021-11-06 09:49:39 -06:00
Paul Davis
7fca55eeb5
Fix placement of drawn MIDI notes.
...
Important logic from 6.9 was either missing or incorrectly implemented. New
version is much simpler - we just use the RoundDownMaybe mode of round_to_bbt()
to ensure that the note start is always within the current grid even if the
mouse is more than halfway "through" it.
2021-11-04 18:27:02 -06:00
Paul Davis
2d9eb6ec81
Fix error in drawing length of ghost MIDI notes in note drawing mode
2021-11-04 18:25:45 -06:00
Paul Davis
efdd3e86c3
remove unused variable
2021-11-04 13:59:43 -06:00
Paul Davis
af2af29c95
remove Kiwi constraint-based packing code from canvas library and users (GUI version)
2021-11-04 11:25:56 -06:00
Paul Davis
0c5d41039a
more scene triggering actions
2021-11-03 18:44:31 -06:00
Paul Davis
aba0de91f8
add missing file
2021-11-01 13:40:23 -06:00
Paul Davis
b7ce131557
triggerboxUI: skeleton for triggerbox bindings and actions, include triggering of scene 1
2021-11-01 12:11:57 -06:00
BrunoVernay
e16ac4b036
Typo in comment: paramater
2021-10-30 23:02:35 +02:00