Commit graph

159 commits

Author SHA1 Message Date
Paul Davis
3c00048b0c Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
Paul Davis
007136cc23 remove MIDI Control input and output ports from session-level objects 2019-12-31 12:06:14 -07:00
Robin Gareus
4a5c9c759b
Only retain control-port connections
When MIDI input follows selection, ports that provide music-data
should be disconnected, even if they *also* provide control-data
2019-11-11 23:37:11 +01:00
Paul Davis
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
Robin Gareus
e371e8a51a
Fix timecode generation after split-cycles 2019-11-03 15:19:37 +01:00
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
eade673771
Expose virtual-keyboard port as async-port 2019-10-18 22:56:46 +02:00
Robin Gareus
f961fd4687
Add Virtual-Keyboard MIDI port 2019-10-18 03:42:41 +02:00
Paul Davis
468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
Robin Gareus
a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
Robin Gareus
46f0b75e12
Undo more incorrect sample/frame replacements 2019-04-08 04:10:04 +02:00
Paul Davis
ac50d66da9 rework name/canonical-name stuff for MIDI port info 2019-03-07 22:05:40 -07:00
Paul Davis
8b212bfa12 a more nuanced version of the "do-not-automatically-disconnect-selection-follows-input 2019-03-07 12:01:27 -07:00
Paul Davis
f1dfc6d2a2 do not disconnect MidiPortSelection-flagged ports from everything when (MIDI track) selection changes
If the user manually connects such a port to something, then it is
up the user to disconnect it too
2019-03-04 18:23:06 -07:00
Paul Davis
5b0d98abcd fix decision about sending MTC to be based not just on whether the transport master is locked, but whether it is external 2019-03-03 10:27:38 -07:00
Paul Davis
e6915e01de new transport slave/master implementation, libs/ edition 2018-09-18 19:06:04 -04:00
Robin Gareus
f974cd5401 Update Timecode Generator/Slave alignment 2017-09-29 05:03:48 +02:00
Paul Davis
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Paul Davis
0c035778e1 libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls 2017-05-05 18:56:25 +01:00
Robin Gareus
61c7af141d Clarify "frames" (video, timecode) vs "samples" (audio) 2016-12-08 12:45:44 +01:00
Paul Davis
fb200cfbb9 remove debug output 2016-10-21 16:31:53 -04:00
Paul Davis
235c1f9adb infrastructure for save/restore of MIDI port user-provided information 2016-10-20 16:34:52 -04:00
Paul Davis
12c558f62e tweak logic for MIDI input follows selection 2016-10-20 16:34:52 -04:00
Paul Davis
8ac97d55c9 slight improvements in logic for midi-input-follows-selection 2016-10-19 23:17:39 -04:00
Paul Davis
f96b698234 infrastructure for MIDI-input-follows-selection 2016-10-19 17:49:35 -04:00
Paul Davis
0a8ab08e5f basics of following MIDI track selection and rewiring input 2016-10-19 17:49:35 -04:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis
05a069a9e9 explanatory comment 2016-07-03 13:22:52 -04:00
Paul Davis
2d4358ddb5 Various changes to PresentationInfo and a small consolidation of sorters.
The semantics for sorting PresentationInfo are up to the caller, not the
PresentationInfo object, so operator<() was removed and callers specifically
invoke ::order() for sorting.
2016-06-10 13:57:18 -04:00
Paul Davis
e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Paul Davis
653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
Robin Gareus
4aea1285c9 fix some false-positive compiler warnings 2016-05-27 18:28:26 +02:00
Robin Gareus
5550eebe2f fix MTC alignment 2016-05-25 17:13:09 +02:00
Paul Davis
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
Paul Davis
41b2de41d6 change API for accessing session MIDI ports so that (1) boost::shared_ptr<> is used all the time (2) we avoid using multiple functions to return different subclass versions of some ports 2015-12-07 12:38:17 -05:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
0113de9b92 Don’t create MTC debug string if it’s not needed.
Removes periodic call to operator<< (and eventually loadlocale) 
in RT-thread in the debug version.
2015-07-29 17:54:56 +02:00
Paul Davis
706eb6dacd add Tracks specific handling of MMC Record Strobe, since Tracks has no concept of punch 2015-06-29 14:18:13 -04:00
Paul Davis
679356c5ee fix delivery of MMC events under split process cycle conditions 2014-10-22 17:07:11 -04:00
Robin Gareus
f3f80900f1 fix crash at session close/exit if a midi-control-surface is used
The "real" problem was that MidiControlUI is destroyed
while there are still MIDIControllables around that
still have a signal connection to a Controllable:
  controllable->Destroyed(..., MidiControlUI::instance())
If a Contrallable is deleted after the MidiControlUI
event loop is gone, the Destroyed() signal can create odd
situations...
2014-09-11 19:30:33 +02:00
Robin Gareus
438179d278 wrap MIDI timecode at 24h 2014-06-10 04:22:34 +02:00
Robin Gareus
c0376fe7b3 really fix sending MIDI timecode. 2014-06-10 04:12:08 +02:00
Paul Davis
2cf411e4be merge (squash) with scenechange topic branch to provide MIDI-driven scene change markers 2014-04-28 19:58:24 -04:00
John Emmas
dc3288565b 'libs/ardour' - Clarify ambiguous symbols (needs to be checked) 2013-09-18 10:11:54 +01:00
Paul Davis
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
Paul Davis
1c49138e00 move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports
more clear, and removes a few wierd bits of code. It also ensures that open/close/open
on the same session will retain connections for those MIDI ports
2013-09-05 13:22:34 -04:00
Paul Davis
031675f795 changes to allow window branch to build on OS X 2013-08-09 09:17:03 -04:00