Paul Davis
1e5a5b6b4f
do not have MIDI input follow selection when recording
2024-06-15 14:01:36 -06:00
Paul Davis
0847dc8a37
when disconnecting a MIDI port for follows-selection, get ALL connections
...
without the 3rd argument, we only get information about ports that we own.
2024-06-14 22:17:41 -06:00
Robin Gareus
dad725688d
Fix various MMC commands, set request-source
2023-06-04 01:15:02 +02:00
Robin Gareus
27155732ff
MIDI input input follows selection groups
...
This also mitigates an issue that selecting a track in
a group may select other tracks. Previously the last
selected track's input was connected to MIDI ports, which
is usually not the track that the user clicked on.
2023-04-21 22:50:49 +02:00
Robin Gareus
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit)
2023-04-08 00:15:37 +02:00
Paul Davis
a486fba3e9
std::atomic - 2nd batch of changes to convert from glib to std::atomic
2023-03-24 14:19:15 -06:00
Paul Davis
b35518e212
switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
...
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis
39ed528e25
std-ize: convert all boost shared/weak ptr includes to <memory>
...
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
Robin Gareus
e83898cf88
Use correct flag for MMC
2023-02-19 18:09:01 +01:00
Paul Davis
c8e3d95109
add new Session global MIDI input port for trigger control
2022-11-19 10:22:16 -07:00
Paul Davis
cc2e6b3cf8
libardour: change API of Session::request_locate() to include "force" argument
...
No behavior should be changed by this modification; the argument has a default value of false, which
matches previous semantics, and every instance where the argument is specified, it is given as false.
2022-05-27 18:49:11 -06:00
Robin Gareus
84b75f6627
Retain MIDI monitor connection -- #8816
...
A physical input port must remain connected to ardour's
physical_midi_input_monitor_enable port, otherwise reading
its input can cause crashes.
Previously a MIDI input port was disconnected from all other
targets when "MIDI input follows selection" was enabled.
2021-10-31 16:37:37 +01:00
Robin Gareus
5957e14259
Remove unused #include<> (2/2)
...
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:57:16 +02:00
Paul Davis
4b87c3a6b1
complete removal of Session::_transport_speed, _default_transport_speed and takeover of transport state mgmt by TransportFSM
...
The TransportFSM is now responsible for deciding what to do at all transport state transitions. The Session (via the TransportAPI) merely
provides mechanism (locate, start, stop, set_speed). Default and most recent speed requests are managed by the TransportFSM too
2021-05-03 17:40:41 -06:00
Paul Davis
48e5607f7c
use Session::request_roll() instead of request_transport_speed (1.0, ...)
2021-04-19 16:14:08 -06:00
Paul Davis
e5790c6b70
incoming MIDI: use Session::request_stop() rather than Session::request_transport_speed()
2021-04-19 16:14:08 -06:00
Robin Gareus
01502c6805
Allow to set pretty name for all port
2021-01-18 03:18:20 +01:00
Robin Gareus
f9cdf533ba
Event API consistency; reorder arguments (time, type, payload)
2020-09-20 19:18:09 +02:00
Robin Gareus
9d390f38bf
Cache MIDI generator port latency
...
This reduces excessive, expensive calls to get_connected_latency_range()
2020-07-12 01:50:01 +02:00
Robin Gareus
5ce12a38e6
Retain connections of ctrl-data ports
...
Previously "Follow selection" disconnected a MIDI port from
control surfaces, even when it was marked as "MidiPortControl".
2020-06-11 23:24:55 +02:00
Robin Gareus
8f82ccd3aa
Add LatencyRange comparator, and explicit assignment operator
2020-06-05 20:44:57 +02:00
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