Robin Gareus
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
Robin Gareus
db08810164
Virtual-keyboard: "Tab" to sustain (still undocumented)
2019-11-02 23:56:40 +01:00
Paul Davis
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
Paul Davis
3e443bc237
improve operation of ARDOUR_UI::toggle_roll() for loop mode (particularly when loop-is-mode)
2019-11-02 16:32:18 -06:00
Paul Davis
5025b939c6
comment update
2019-11-02 16:32:18 -06:00
Paul Davis
003fed93bf
use new API to make locate happen
2019-11-02 16:32:18 -06:00
Paul Davis
abf5f2bae0
don't locate when enabling loop if loop-is-mode
2019-11-02 16:32:18 -06:00
Paul Davis
eee8eb1005
allow explicit "with-roll" argument to a locate to override Session::should_roll_after_locate()
2019-11-02 16:32:18 -06:00
Paul Davis
5241cdcf03
remove unused parameter from Session::set_play_loop() API
2019-11-02 16:32:18 -06:00
Paul Davis
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
Paul Davis
cd2618246a
make it more likely that debug messages are printed without x-thread interruption
2019-11-02 16:32:18 -06:00
Paul Davis
5e13770e1f
NOOP: newline removed
2019-11-02 16:32:18 -06:00
Paul Davis
81b38c110a
remove unused (empty) API
2019-11-02 16:32:18 -06:00
Paul Davis
3ec845b1ef
remove unused API
2019-11-02 16:32:18 -06:00
Paul Davis
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
Paul Davis
1a2820a886
remove commented line
2019-11-02 16:32:18 -06:00
Paul Davis
1bbbbd62fd
helpful variable rename
2019-11-02 16:32:18 -06:00
Paul Davis
e8a12a1a29
clarify clarifying comment
2019-11-02 16:32:18 -06:00
Paul Davis
6e0c5483b2
remove MidiPlaylist::read() API
2019-11-02 16:32:18 -06:00
Paul Davis
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
Paul Davis
17ba6d319f
use a different MidiBuffer API to move data from RT MidiBuffer into MidiBuffer during ::read()
2019-11-02 16:32:18 -06:00
Paul Davis
eaae38ba84
move evoral/src/* to evoral/
2019-11-02 16:32:18 -06:00
Paul Davis
a855119bdd
rename all Evoral source from .(hpp|cpp)$ to .(h|cc)
2019-11-02 16:32:18 -06:00
Paul Davis
63b909211d
NO-OP: whitespace
2019-11-02 16:32:18 -06:00
Paul Davis
bc706064c6
use a note tracker to resolve notes cut off during render by the end of the region
2019-11-02 16:32:18 -06:00
Paul Davis
5d40ab22fd
remove a mistakenly left-in declaration
2019-11-02 16:32:18 -06:00
Paul Davis
b83ef09947
various adjustments so that a MidiPlaylist gets re-rendered whenever it changes.
...
This may still be missing a few changes (i.e. they do not cause re-rendering)
2019-11-02 16:32:18 -06:00
Paul Davis
6128d1759c
do not initiate transport stop during loading when setting capture/playback buffer sizes
2019-11-02 16:32:18 -06:00
Paul Davis
a08012214f
add a new "contents" pseudo-property to Region
...
The type of this property doesn't matter - it only exists so that we can
signal a change to the (MIDI) contents of a Region via PropertyChanged
2019-11-02 16:32:18 -06:00
Paul Davis
f21dd03a0f
NOOP: whitespace change
2019-11-02 16:32:18 -06:00
Paul Davis
ff7e952942
fix thinko when dealing with non-MIDI tracks
2019-11-02 16:32:18 -06:00
Paul Davis
c0a1aec516
start removal of NoteFixer code
...
Plan is to always read MIDI directly from rendered version. MidiPlaylistSource needs
attention before MidiPlaylist::read() can be removed
2019-11-02 16:32:18 -06:00
Paul Davis
addebc3240
move ownership of an RT MIDI buffer from DiskIO to MidiPlaylist
2019-11-02 16:32:18 -06:00
Paul Davis
5c0fd05c52
fix reallocation/copy sizes for direct index and blob pool
2019-11-02 16:32:18 -06:00
Paul Davis
604fc35e16
clear RTMidiBuffer before re-rendering into it
2019-11-02 16:32:18 -06:00
Paul Davis
0573e7cdf0
alter where note resolution happens when a re-rendering is scheduled for a MIDI track
2019-11-02 16:32:18 -06:00
Paul Davis
2cf9ad8f8c
refactor SessionEvent and DiskIO so that we pass around boost::shared_ptr<Track> rather than Route
...
(this the raw pointers used inside SessionEvent)
2019-11-02 16:32:18 -06:00
Paul Davis
5b92ef4353
remove unnecessary fwd decl
2019-11-02 16:32:18 -06:00
Paul Davis
5cd9c86d58
add RAII-style write protection while rendering MIDI playlist into RTMidiBuffer
2019-11-02 16:32:18 -06:00
Paul Davis
c55e23e7aa
change MidiPlaylist::dump() into ::render(); change type of initial argument
2019-11-02 16:32:18 -06:00
Paul Davis
3f8fbf22e6
fix initialization order
2019-11-02 16:32:18 -06:00
Paul Davis
73e9560eef
add extra info to output of RTMidiBuffer::dump()
2019-11-02 16:32:18 -06:00
Paul Davis
b017f20141
correct size computation for RTMidiBuffer, and reduce expansion amount
2019-11-02 16:32:18 -06:00
Paul Davis
08ab8fc58a
remove unused member variable
2019-11-02 16:32:18 -06:00
Paul Davis
088e4bca5a
reimplement RTMidiBuffer using a highly optimized data structure
...
Reduces load time of Glass MIDI piece with 48k note events by about 35%. Improves data
locality. Omits size for all 3 byte or less MIDI events, uses implicit size. No limit
on size of sysex.
Relies on the fact that the data structure is always filled linearly in time, and
never modified.
2019-11-02 16:32:18 -06:00
Paul Davis
e87e0ec028
add a MidiStateTracker to DiskReader and use to handle transport stop note resolving
2019-11-02 16:32:18 -06:00
Paul Davis
67beff22ce
trivial cleanups
2019-11-02 16:32:18 -06:00
Paul Davis
22da779322
introduce new all-in-RAM MIDI datastructure and use it for MIDI playback
2019-11-02 16:32:18 -06:00
Ben Loftis
cc949232fe
Remove complicated panner theme logic.
2019-11-02 14:57:53 -05:00
Robin Gareus
9b7998e747
Fan-out multi-channel instruments to tracks (not busses)
2019-11-02 18:47:59 +01:00