6f4e838a58
add a signal to Gtkmm2ext::Keyboard to allow (possible) handling of close-current-dialog
2019-11-06 16:25:30 -07:00
febaa1ff2d
fix unconditional note resolution during DiskReader::realtime_locate()
...
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() -
::get_midi_playback() has already taken care of this. But when not looping, we need this. So,
add an argument to tell all interested parties whether the locate is for a loop end or not
2019-11-06 16:00:31 -07:00
9694f89966
Use strict-i/o on master-bus by default
...
This precludes issues with multi-out-plugins adding an excessive
number of ports and changing master-panning.
2019-11-06 20:05:50 +01:00
7dd7488872
Session should not be accessed when not there.
2019-11-06 08:30:11 -08:00
f61f938503
remove debug message
2019-11-06 09:28:23 -07:00
24252b92c6
move at-exit messages about pool utilization to DEBUG_TRACE
2019-11-06 09:27:49 -07:00
d5cfc898e4
resolved notes need to use cycle-relative time
2019-11-06 09:07:12 -07:00
cd7fc3711a
be sure to move effective_start while loop-reading MIDI
2019-11-06 09:03:55 -07:00
cc741bdea5
fix DiskReader::get_midi_playback() when looping
...
Although at the Session level we never run "through" the loop end,
latency compensation means that that start/end sample values passed to
Processor::run() may cross the loop end. Fix how we handle this so
that we do not read data from after the end of the loop
2019-11-06 08:58:09 -07:00
0bb34edec0
improve comment about warning message
2019-11-06 08:56:50 -07:00
7d67789a3f
fix a bad transition in the transportFSM.
2019-11-04 14:35:18 -07:00
62c4e88a9d
avoid use of Port::port_offset() everywhere except Port::flush_buffers() and Port::get_buffer()
...
Split cycles are run as if they are an entire self-contained cycle, starting at zero and running for "nframes".
We adjust the timing and position of data only when retrieving and writing it to Port buffers.
2019-11-04 12:57:19 -07:00
47672fceec
rename method argument to better reflect its intended role
2019-11-04 12:52:34 -07:00
fd198c373c
when resolving notes for a locate, use zero as the timestamp, not the current Port::port_offset()
...
All _immediate_events data gets written to the output buffer at the end of the current (split) cycle anyway, so the
timestamp is irrelevant (as long as it is zero, and will therefore be read by ::snapshot_out_of_band_data()
2019-11-03 11:02:10 -07:00
5ec9e0fa5e
Virtual-keyboard: momentary pedal (no toggle)
2019-11-03 17:50:25 +01:00
4a99efe588
another notable cleanup/simplification of DiskReader's MIDI handling
...
Note that we resolve notes from the tracker directly into the output buffer. This happens
after an edit causes a buffer overwrite
2019-11-03 09:20:50 -07:00
a7487bd040
comment fix
2019-11-03 09:20:00 -07:00
90983d21d3
immediate events time reference for zero is the start of the run() cycle, not absolute sample time
2019-11-03 07:58:35 -07:00
2fde6a5777
Correctly flush MIDI buffers on cycle-split
2019-11-03 15:19:37 +01:00
98224a264e
Clarify MIDI-port event-timestamp debug-message
2019-11-03 15:19:37 +01:00
e371e8a51a
Fix timecode generation after split-cycles
2019-11-03 15:19:37 +01:00
John Emmas
b412ca7215
Add/remove source(s) in our MSVC project (libardour)
2019-11-03 13:46:30 +00:00
John Emmas
c7bdc38c95
Accommodate some recently moved/renamed folders and source files (libevoral)
2019-11-03 13:46:29 +00:00
01f65f557f
Fix build -- 'printf' was not declared in this scope
2019-11-03 14:15:11 +01:00
ba8e5aea56
Fix compiler warning
2019-11-03 04:14:52 +01:00
f9131d24d3
for now, show how long MIDI rendering takes
2019-11-02 19:38:01 -06:00
9a6350b9c9
use playback filter when rendering MIDI; respond to changes in filter by re-rendering
2019-11-02 19:38:01 -06:00
ee67d2d749
Auto-connect input should not disconnect other ports
...
This fixes an issue with existing MIDI routing between MIDI tracks
and/or busses. Automatic MIDI connections should only dis/re-connect
ports that are explicitly configured in Preferences > MIDI Ports
and leave all other connections alone.
2019-11-03 00:28:53 +01:00
db08810164
Virtual-keyboard: "Tab" to sustain (still undocumented)
2019-11-02 23:56:40 +01:00
7b25a89944
part 1 of replicating semantics of ARDOUR_UI::toggle_roll() in BasicUI::toggle_roll()
...
This can be done better, even without sharing code
2019-11-02 16:32:18 -06:00
3e443bc237
improve operation of ARDOUR_UI::toggle_roll() for loop mode (particularly when loop-is-mode)
2019-11-02 16:32:18 -06:00
5025b939c6
comment update
2019-11-02 16:32:18 -06:00
003fed93bf
use new API to make locate happen
2019-11-02 16:32:18 -06:00
abf5f2bae0
don't locate when enabling loop if loop-is-mode
2019-11-02 16:32:18 -06:00
eee8eb1005
allow explicit "with-roll" argument to a locate to override Session::should_roll_after_locate()
2019-11-02 16:32:18 -06:00
5241cdcf03
remove unused parameter from Session::set_play_loop() API
2019-11-02 16:32:18 -06:00
31fea25005
lovely simplification of DiskReader::get_midi_playback()
...
This is made possible by knowing that it is never called upon to read across
loop boundaries. The session splits the process cycle for the end of the loop
2019-11-02 16:32:18 -06:00
cd2618246a
make it more likely that debug messages are printed without x-thread interruption
2019-11-02 16:32:18 -06:00
5e13770e1f
NOOP: newline removed
2019-11-02 16:32:18 -06:00
81b38c110a
remove unused (empty) API
2019-11-02 16:32:18 -06:00
3ec845b1ef
remove unused API
2019-11-02 16:32:18 -06:00
4d5fd1af4b
add another conditional to decide if we should merge disk MIDI data into input MIDI data
2019-11-02 16:32:18 -06:00
1a2820a886
remove commented line
2019-11-02 16:32:18 -06:00
1bbbbd62fd
helpful variable rename
2019-11-02 16:32:18 -06:00
e8a12a1a29
clarify clarifying comment
2019-11-02 16:32:18 -06:00
6e0c5483b2
remove MidiPlaylist::read() API
2019-11-02 16:32:18 -06:00
7dfae40e3b
comment out actual action in MidiPlaylistSource::read()
...
See comment and remember that we do not MidiPlaylistSource at this time.
2019-11-02 16:32:18 -06:00
17ba6d319f
use a different MidiBuffer API to move data from RT MidiBuffer into MidiBuffer during ::read()
2019-11-02 16:32:18 -06:00
eaae38ba84
move evoral/src/* to evoral/
2019-11-02 16:32:18 -06:00
a855119bdd
rename all Evoral source from .(hpp|cpp)$ to .(h|cc)
2019-11-02 16:32:18 -06:00