cooltehno
bf2ff23e44
Update dark-ardour.colors
2022-02-02 16:45:18 +01:00
bb11be9936
Consistent height of MIDI and Audio Track connection buttons
...
Audio track shows a trim-knob -- which is SCALED(19x19px),
MIDI input button should follow suit.
2022-02-02 14:18:18 +01:00
6900facef2
Fix potential deadlock
...
block_processing() may hold the process-lock, waiting
for the latency-lock. at the same time audio-engine
may hold the latter, trying to acquire the former.
2022-02-02 14:16:50 +01:00
fec679c602
triggerbox: refactor ::maybe_compute_next_transition() so that we can use the same code when fast-forwarding
2022-02-01 19:55:37 -07:00
f5d5ecffbb
triggerbox: change note tracker to a full state tracker, and move it up to the TriggerBox
...
We don't need one state tracker per trigger, one per box is more appropriate
2022-02-01 18:06:40 -07:00
8449d344ae
add MidiNoteTracker::flush_notes() that writes note-on events corresponding to currently-on notes
...
This does not maintain note timing, but once the buffer contents arrive at a receiver, it should
be playing all the notes that were marked on in the tracker
2022-02-01 18:06:40 -07:00
885d2feb6a
add basics of a method to flush MidiStateTracker state to a MidiBuffer
...
When the buffer is delivered to a receiver, the receiver should (theoretically) end up
the same state as the MidiStateTracker
2022-02-01 18:06:40 -07:00
04004d2178
add skeleton for full MidiStateTracker
2022-02-01 18:06:40 -07:00
1ab49bcc32
change MidiStateTracker to MidiNoteTracker
...
The old name will become a bigger class/object that tracks all MIDI state,
not just notes
2022-02-01 18:06:40 -07:00
77a60d9e2d
Remove unused API
2022-02-02 00:27:35 +01:00
f103b984ab
Fix bounce + callback concurrency
...
Prevent Session::write_one_track to commence while latency
callback is already in progress. See also
* 19067f8c87
* 2eaa0183ef
2022-02-02 00:27:35 +01:00
1725fdadf6
pre-size Grid and Draw-option menus so they are less likely to dynamically resize with every click
2022-02-01 17:02:56 -06:00
26beea89ea
changes to the Draw options should immediately sync state to instant.xml
2022-02-01 17:02:56 -06:00
b7a3de126c
Fix some menus that occasionally act 'stuck'
...
* when a menu uses RadioActions, their initial state must be synced
* we use various methods to 'fix' this throughout the program
-> I'm forcing internal state to match in the case the Action is already active
* question: we tend to use RadioActions for all these menu items,
because they represent a choice between many options;
but do we really need to use RadioActions here?
2022-02-01 17:02:56 -06:00
19067f8c87
Another refinement to address bounce + callback concurrency
...
see also 2eaa0183ef
2022-02-01 23:49:38 +01:00
200469dce8
Remove 18 month old debug messages
2022-02-01 22:01:41 +01:00
031a05b07a
Return early if processing is blocked
...
There is no need to setup thread-local variable
if they are never used.
2022-02-01 21:40:11 +01:00
2eaa0183ef
Fix bounce + latency update concurrency
...
When bouncing Region or Range, Session::write_one_track()
blocks processing, but takes no process-lock.
It is possible that a latency-callback arrives at the same
time while Route::bounce_process is active and calls ::run.
This can trigger a delayline.cc Assertion `lm.locked ()' failed
in either thread.
Now latency-callbacks are postponed until the session can
process normally again
2022-02-01 21:40:11 +01:00
a100d46249
midi_input_enable_button does not need to be dynamically allocated
2022-02-01 12:26:41 -06:00
6fc4ab87de
trigger_ui: MIDI trigger strips have a centered note-icon
2022-02-01 10:34:35 -06:00
69cdccb912
Add eighth-note symbols to ArdourMono font file
2022-02-01 10:12:24 -06:00
2f94e28f5b
Add Preference to change user clip library dir
2022-02-01 15:47:54 +01:00
34c8307a38
Fix DirectoryOption set filename
...
This properly updates the display if the preference changes.
Even with FILE_CHOOSER_ACTION_SELECT_FOLDER the API is
is get/set_filename -- set_current_folder() sets the parent folder.
2022-02-01 15:47:54 +01:00
c17fbd5abc
Fix poor_mans_glob, ~' for
$HOME' is only valid at the start of a path
2022-02-01 15:47:54 +01:00
6f04296635
Expand default clip-library-dir preference at application start
...
This is in preparation for allowing to use it in Preferences.
Previously it was lazily set when first used.
2022-02-01 15:47:54 +01:00
8e4fdb071b
triggerbox: keep track of, and make available, "empty" status for a triggerbox.
...
Includes PBD::Signal that notifies when a TriggerBox's empty status changes
2022-01-31 22:40:05 -07:00
b55ef8543d
Fix compilation of triggerbox.cc (amend ca6c99586f
)
2022-02-01 03:50:23 +01:00
e5efb57166
terminology: the user-visible name for Trigger object is a 'Trigger Slot'
2022-01-31 20:25:06 -06:00
64e4964101
terminology: the TB widget in a mixer strip is called a Trigger Grid
2022-01-31 20:25:06 -06:00
da09d1dd9a
terminology: the content in a trigger is a Trigger Clip
2022-01-31 20:25:06 -06:00
bb99c53cca
terminology: change visibility text to 'Cue Window' to match button name
2022-01-31 20:25:06 -06:00
2df7a8d961
terminology: set the title of the Cue(s) Window
2022-01-31 20:25:06 -06:00
bd7ffdbadb
remove trigger visibility from mixer-strip context menu
...
* we handle trigger visibility from the Track visibility tabs
2022-01-31 20:25:06 -06:00
7748e939b8
trigger_ui: remove the popup slot-editor window until it is finished
2022-01-31 20:25:06 -06:00
5f10817126
trigger_ui: add menu items and bindings to trigger Cues A-H
2022-01-31 20:25:05 -06:00
63912069f4
trigger_ui: remove redundant action bindings; rename trigger_scene to trigger_cue
2022-01-31 20:25:05 -06:00
2fdf54874a
triggerbox: remove unused enable_triggers config var (reverts 21ed6a)
2022-01-31 20:25:05 -06:00
ca6c99586f
triggerbox: minor arithmetic fix to help with clicks at clip end
...
process_index should not be compared/combined with expected_end_sample, since
the former is a process-cycle count and the latter is a timeline position.
2022-01-31 15:57:13 -07:00
6ca8326c6a
trigger_ui: tweak menu actions for multi-jump
2022-01-31 14:59:30 -06:00
bfc3f6fa4f
Bouncing to trigger enables Cue-Page visibility
2022-01-31 21:53:57 +01:00
866ba8b174
playlist: find_prev_region_start() should return zero if no earlier region is found (used during rippling
2022-01-30 22:49:52 -07:00
3704b47249
trigger_ui: first draft of a multi-jump dialog
2022-01-30 19:00:50 -06:00
cc426b6d14
Dim text rendered with ShadedPlusSign
2022-01-31 01:58:42 +01:00
0da02b582d
Trigger clip picker: button to open library folder
2022-01-30 22:44:39 +01:00
f4dd5d9a6f
Add folder icon
2022-01-30 22:44:39 +01:00
cdda0b6d30
removal of TriggerBox passthru property, GUI edition
2022-01-30 13:38:10 -07:00
d43e2c25bc
triggerbox: remove passthru property and everything related.
...
TriggerBox is always a passthru processor now. Monitoring (or not) is intended
to be controlled via other means
2022-01-30 13:37:52 -07:00
663a843484
Add explanatory text to '+' symbol on mixer and recorder pages
2022-01-30 13:44:41 -06:00
4450b5be2c
triggerbox: potentially useful comment about the process of slot property-setting
...
* first the region is scanned for bpm and one-shot status
* then we handle properties that should be applied from a drag&drop
* then we handle the existing arrangement-style slot properties that should persist
2022-01-30 13:44:41 -06:00
7d34397a35
triggerbox: handling double-click is necessary to cancel an unneeded grab()
2022-01-30 13:44:38 -06:00