13
0
Commit Graph

37019 Commits

Author SHA1 Message Date
62fc1d3c2e
Flush audio-buffers for internal connections
Forward data for ports that are both internally and
externally connected.

e.g. click-io may be connected to a track as well as physical
outputs. Since the port is externally connected, data is written
to an internal buffer _data[], and only at cycle-end resampled
to engine-buffers.

However a track's recording the metronome is not externally
connected. Hence data is directly read from the engine-buffers.
Summing also happens at engine level, so data has to
be written back for downstream ports to read them in the same cycle.
2023-03-07 20:49:54 +01:00
77bb262c26
Add API to check for internal port connections 2023-03-07 20:49:37 +01:00
7a18ef6ceb
Fix LADSPA log-scale default (correct e1ef2c7e0d) 2023-03-06 20:38:11 +01:00
alex
4ca947f078 changed parantheses and lines 2023-03-06 00:43:34 +01:00
alex
777c7c6c03 added trackcolors to X-Touch, added _is_xtouch to device info as condition for trackcolors 2023-03-06 00:08:38 +01:00
Olivier HUMBERT
bc1ed2e256 Update French translation for 7.3.0 2023-03-03 17:17:49 +01:00
JungHee Lee
3b0a19d30e Update Korean translation 2023-02-24 02:00:10 +01:00
ef14fec4ec MIDI trace window: enable printing of new-ish MIDI tick message 2023-02-23 15:34:27 -07:00
4c4f659c5d libmidi++: allow tracer to print tick message 2023-02-23 15:34:27 -07:00
95ad72bda6 libmidi++: add the hitherto unknown and unsupported MIDI "tick" message
See http://midi.teragonaudio.com/tech/midispec/tick.htm
2023-02-23 15:34:27 -07:00
94570e0e1e midi clock: no changing tempo when we're not using an external sync source 2023-02-23 15:34:27 -07:00
df577d79d4
Clarify scale-slider, label is not the current value 2023-02-23 22:52:56 +01:00
adb6467427 midi clock: move incoming BPM quantize option and add tooltip 2023-02-23 12:15:51 -07:00
27205c7639 midi clock: provide option to quantize incoming BPM values 2023-02-23 12:15:26 -07:00
dbd779bf85 NOOP: remove commented debug output 2023-02-23 12:14:39 -07:00
a7458d308b midi clock: allow user to "quantize" MIDI clock resolution (GUI edition) 2023-02-23 10:17:54 -07:00
e430d13d53 midi clock: allow user to "quantize" MIDI clock resolution 2023-02-23 10:17:47 -07:00
866876c903
Update MClk DLL, fix calculating coefficient
For whatever reason, previously the DLL bandwidth was set
to (10 Pi bpm^-2).
2023-02-23 17:26:30 +01:00
e1ef2c7e0d
Fix LADSPA default values for log-scale controls 2023-02-23 15:05:14 +01:00
52cfa9ff19
Another step towards fixing MIDI Clock sync
* Fix reset on timeout: Reset needs to be called before
  processing any messages.
* use DLL to compute BPM (remove 1st order LPF)
* set BPM before calculating ppqn
* Fix speed at 1.0, change BPM only. MIDI clock must
  vari-speed (which changes pitch). MIDI clock is acts as
  "Conductor" that specifies when a beat happens at a given
  wall-clock time. timecode moves at speed 1.0 only the BPM
  changes.
2023-02-22 18:41:11 +01:00
93b68fea89 mclck: compute "predicted_clock_interval_in_samples" correctly 2023-02-20 21:40:02 -07:00
Ayan Shafqat
2773199fa3
Fix clang build error 2023-02-21 02:02:08 +01:00
83d7114597 transport master: fix think in 58c5f75fc9 which stopped checking both port arguments 2023-02-20 17:35:24 -07:00
6721fe4697 mclk: fix debug output arguments 2023-02-20 17:35:24 -07:00
luzpaz
44a869732c Fix various typos
Found via `codespell`
2023-02-20 17:35:24 -07:00
cd6c88c964
Fix loading VST2 presets at instantiation time
This fixes a crash when dragging a VST2 presets from
the mixer-sidebar to a track.
2023-02-21 01:33:47 +01:00
78c89fcbae
Fix MIDI Clock transport master (#8750)
MIDI Start and Position messages need to leave
the clock timestamp alone. They are not relevant
to compute BPM.
2023-02-19 22:49:23 +01:00
cf0b119b45
Towards fixing MClk transport master (#8750)
* Honor MCLk stop messages, do not auto-start as soon as
  the tempo is locked (after 3 clock ticks).
* Retain MIDI beat position, do not rewind in ::update_midi_clock
  Do not directly start when receiving the position message,
  transport speed should be zero (regardless of clock speed),
  until the "continue" message arrives.
* Mclk start needs to rewind (not reset)

There is still an issue with start, when
_session->transport_sample() is not zero. Ardour ends up
constantly locating, rolling for a short time and re-syncing
by locating again.
2023-02-19 18:19:18 +01:00
e83898cf88
Use correct flag for MMC 2023-02-19 18:09:01 +01:00
c1c913be9d
Fix MClk generator position 2023-02-19 18:08:58 +01:00
b6f0e547bb
Pick a more sensible arbitrary number 2023-02-18 18:44:40 +01:00
cba8fd090f Fix widget retina scaling (#9243)
For normal cairo-widgets ardour should not use image surfaces on macOS,
because that bypasses retina scaling. In theory explicit upsampling could
be performed (compere to openGL/cairo), but for the case at hand that is
overkill and inconvenient.

Performance critical widgets that render periodically can enable openGL
backing. Casual widgets (buttons with text, knobs, sliders etc) can be
rendered directly without any significant performance penalty.
2023-02-17 15:57:32 +01:00
9df3058cd8 Add Graphics Acceleration heading to prefs on macOS 2023-02-17 15:57:32 +01:00
5b6bc3f358 Revert "tempo map: use lookup tables to speed up time conversions"
This reverts commit 644ebe37a8.

Adding entries to the lookup table is (a) not thread safe (b) not appropriate
from RT context.
2023-02-16 18:25:23 -07:00
cfb31e3257 AU: update to new tempo-map API (amend 259499fc) 2023-02-17 01:19:10 +01:00
edbcaa24fb
VST3: initially only enable default-active busses
This works around a problem with some JUCE plugins, notably
https://github.com/surge-synthesizer/surge/issues/6847
2023-02-16 20:43:03 +01:00
31a3c3c6f3 temporal: fix bad escape sequence in test source code 2023-02-15 18:36:23 -07:00
a59059c15e temporal: map used for ::reftime() must be the one pointed at by TempoMetric 2023-02-15 18:36:23 -07:00
92f5046ae6
Update BBT Lua bindings, add missing BBT_Argument 2023-02-16 02:20:18 +01:00
ee64390c48 fix libtemporal tests after API changes to the library 2023-02-15 17:51:28 -07:00
644ebe37a8 tempo map: use lookup tables to speed up time conversions 2023-02-15 16:02:56 -07:00
6f095b91ce tempo map: add data structure and methods for (fast?) lookup tables
As of this commit, none of the data structures are used.
2023-02-15 16:02:56 -07:00
92bd8461ca tempomap: provide improved reftime() method for TempoMetric
This now looks backwards in time for a BBT_Marker or the start of the
tempo map, whichever comes first.
2023-02-15 16:02:56 -07:00
6cde958480 BBT_Time: provide conversion to/from integer format
This is not guaranteed to be lossless, but with 44 bits for bars,
256 beats per bar and up to 4095 ticks per beat, it should be fine.
2023-02-15 16:02:56 -07:00
2c7bfa9ead require use of BBT_Argument as both parameter and return type from most methods (GUI edition) 2023-02-15 16:02:56 -07:00
259499fc5f require use of BBT_Argument as both parameter and return type from most methods (libs edition) 2023-02-15 16:02:56 -07:00
f033b5717d tempo map: fix lookup of tempo/meter for a BBT time
Find the first point/tempo/meter after the reference time of the BBT argument
2023-02-15 16:02:56 -07:00
43c8fae709 initial addition and use of BBT_Argument
Currently this is interchangeable with BBT_Time, but soon will
be handled differently
2023-02-15 16:02:56 -07:00
3c57085756
VST3: fix deadlock when loading a preset in some plugins
Some plugins call back to restartComponent() directly from
IEditController::setComponentState.

This lead to a deadlock since VST3Plugin::load_preset
takes a lock (since 7.2-85 b27467157b), and restartComponent
takes the same mutex again.
2023-02-15 23:50:50 +01:00
8f248bd0ba update C++ preferences metadata object 2023-02-14 10:15:18 -07:00