13
0
Commit Graph

19932 Commits

Author SHA1 Message Date
ddf894a1dd
Attempted fix for idle_drop_window random crashes (2/2) 2022-12-03 19:27:53 +01:00
1736b1d424
Avoid .sh file extension 2022-12-03 15:03:44 +01:00
30efb2f178
NO-OP: clang-format 2022-12-03 14:46:45 +01:00
2338e25d31
Fix automation thinning
For consistency, samples need to be used a unit.
Currently the calculated area is orders of magnitude larger
than the default thinning_factor (20).
2022-12-03 14:46:45 +01:00
John Emmas
1592b95031 Minor change - incorrect return type (in Windows build) 2022-12-03 12:21:12 +00:00
a3fdb544ee
Fix copying MIDI regions w/automation
This fixes a bug introduced in d06a0d9c9d. The MIDI data
has to be written first, otherwise the CC-event do not exit
and MidiModel::source_interpolation_changed() crashes.
2022-12-02 21:44:22 +01:00
753d395bb3
NO-OP: add comment for mdns 2022-12-02 18:01:21 +01:00
7d928bf265
Announce OSC via mDNS 2022-12-02 17:34:10 +01:00
c53b19c039
Add zeroconf/mdns support 2022-12-02 17:32:11 +01:00
aae15e3c90
Fix Wreorder, initialize variables 2022-12-02 13:13:13 +01:00
23a0efc286
Indicate error when parsing session fails 2022-11-29 20:00:15 +01:00
e3dc0a24f2 canvas ruler: use second font description appropriately 2022-11-29 10:09:39 -07:00
d77db816de temporal: reimplement and tweak API of TempoMap::get_grid()
There were many logical errors in the previous implementation. This one is
simpler to read, and appears to work much better.

It also allows the caller to specify the quarter-note subdivision to use when
generating the grid, rather than choosing only between some bar modulo or
quarter notes.
2022-11-29 10:09:39 -07:00
a124062fa2 temporal: move_tempo() must use beats (timesig dependent) not quarters 2022-11-29 10:09:39 -07:00
1f4717d93b temporal: reset map requires a BBT-sorted map, not audio time 2022-11-29 10:09:39 -07:00
a817142676 NO-OP: extend debug trace output in superclock_at (BBT_Time) 2022-11-29 10:09:39 -07:00
8299778d26 temporal: slightly change internal API for omega (ramp) computation 2022-11-29 10:09:39 -07:00
d9ed0f0d2e temporal: use muldiv_round to avoid overflow in TempoMetric::superclocks_per_grid() 2022-11-29 10:09:39 -07:00
883527ba3e temporal: add Meter::round_to_beat() 2022-11-29 10:09:39 -07:00
a7d2718aa4
ALSA: use dedicated device reservation for probing
It can happen that the main AlsaAudioBackend::_device_reservation
is still busy while I/O devices are set. In this case a
dedicated AlsaDeviceReservation needs to be used which can fail
silently.

A common example is disconnecting a USB device while it is in
use. The Halted signal can show the session dialog, which calls
set_input_device_name before the device reservation of the
unplugged device terminated.
2022-11-29 17:34:45 +01:00
3f4feb6cc8
ALSA: fix autostart when using different I/O devices
ALSA backend modified the internal state when different devices
were used, re-assigning one (usually input-device) to "None"
when it's resampled. This lead to EngineHints not matching the
EngineState, and autostart was disabled, and a dialog
"Engine I/O device has changed since you last opened this session."
2022-11-29 06:39:50 +01:00
842f4517de
Fix session-archive of stereo files #9122
Archiving creates a dedicated mono file for each Source.
When the original session has (embedded) stereo files, the
channel needs to be temporarily set to 0.
2022-11-28 00:40:17 +01:00
03575011b5
Retain ctime/mtime when encoding file for archiving 2022-11-27 14:11:05 +01:00
580179272d
NO-OP: cleanup duplicate X_ escape 2022-11-27 01:59:01 +01:00
d06a0d9c9d
Copy MIDI Source properties when cloning MIDI Regions 2022-11-27 01:58:58 +01:00
bc6a9609ff
Address some Wmissing-prototypes in qm-dsp 2022-11-26 16:23:52 +01:00
a63e1add6d Remove unused config variables 2022-11-25 20:10:33 +01:00
d0fb7ae18a avoid duplicate BBT points in grid 2022-11-22 18:09:46 -07:00
Gon Solo
1cf6886775
std::iterator is deprecated in C++17, use bidirectional_iterator_tag 2022-11-22 19:49:41 +01:00
4cd01a5f6e
Fix soundcloud curl callback
This also addresses C++17 compatibility.
2022-11-22 17:52:40 +01:00
fe386e51b1 incomplete comments - just say no 2022-11-21 18:34:13 -07:00
c7cf4d96e0 confusing comments - just say no 2022-11-21 18:33:17 -07:00
a84d3e04c4 tests: add new test to check that tempo map reset changes beat time correctly 2022-11-21 18:18:21 -07:00
f5887b978d tempo map: when resetting, set beat/quarter positions as well as audio positions
introducing a new time signature that uses non-quarter notes as the denominator
will move the beat position a given BBT time (since the middle "B" of BBT
refers to "beats" given by the denominator, not quarters).
2022-11-21 18:18:21 -07:00
c8711aacc6
Import MIDI markers direct to the source (3/4) 2022-11-22 01:46:00 +01:00
4f4b931ccc
Add import_markers option (1/4) 2022-11-22 01:44:53 +01:00
3567a7f610
Parse MIDI Lyrics meta-events (import w/markers) 2022-11-21 21:53:15 +01:00
82512422a7
Deliveries support mismatched chan-counts
This issue was introduced in f3423b8a77, which assumed that
number of input channels matches the number of outputs.
With flexible I/O this is not necessarily the case.

This fixes #9106, along with the previous commit.
2022-11-20 15:07:07 +01:00
4448b3a2a9
Prevent crash when running unconfigured meter processor
If Route::configure_processors fails at session start,
meters are not configured (#9106), leading to a crash when
::run() is called (insufficient peak/max/midi buffers).
2022-11-20 15:07:07 +01:00
d903bcff17
Disambiguate "types.h" (see also 705386842b) 2022-11-20 00:32:55 +01:00
16e0de95fc
Handle NoPeakFile flag
Previously the flag was not honored. AudioSource::write() calls
-> SndFileSource::write_unlocked()
-> SndFileSource::nondestructive_write_unlocked() which calls
-> AudioSource::compute_and_write_peaks

This produced "cannot open _peakpath" messages during
session-archive FLAC encoding. Likewise closing an audio file
calls touch_peakfile(). Although this simply failed silently.
2022-11-20 00:00:32 +01:00
d44b4b4674
Remove cruft (unused CANVAS_COMPATIBILITY - 2/3) 2022-11-19 21:49:15 +01:00
34e7c2ffc5
Remove cruft (unused CANVAS_COMPATIBILITY - 1/3) 2022-11-19 21:49:01 +01:00
c69cfaa124
Fix Ardour's rm -r implementation, delete symlinks 2022-11-19 20:20:58 +01:00
d7895ab1d2 triggers: remove sidechain and use global port for trigger control 2022-11-19 10:22:16 -07:00
c8e3d95109 add new Session global MIDI input port for trigger control 2022-11-19 10:22:16 -07:00
705386842b
Require prefix for libardour library header location 2022-11-19 01:12:51 +01:00
3f3d0c7e49
Surfaces and panners should not export headers
Those are not shared libraries but only dynamically loaded
plugin objects. Their headers are their own.
2022-11-19 01:11:53 +01:00
37251faaf1
Add missing wscript file 2022-11-19 00:59:38 +01:00
a6f8f2dd9e
Consolidate search/file-system paths (fixes vst builds)
Keep file-system paths and PBD::Searchpath mostly separate.
This amends 58c2b0a848 libs/fst directly includes relevant
ardour C++ code, so lib/fst must not link against libardour.

The problem was that 58c2b0a848 introduced additional
dependencies on other libardour functions.
2022-11-19 00:48:11 +01:00
d521c2ede6
src-tree cleanup: separate surfaces from libraries
libardourcp and now libardour_midisurface are not control
surfaces, but helper libraries for those.
They need to be deployed to the library folder (shared between
ctrl surfaces) and not scanned as ctrl surfaces at runtime.
2022-11-19 00:09:17 +01:00
22007bf882
Only use playlist-name when bounced region-name is unset 2022-11-18 22:49:15 +01:00
fc611232d2 redesign and reimplement save/restore of MIDI learn for triggers 2022-11-18 14:04:59 -07:00
58c2b0a848 move midi maps folders and file extension out of control surfaces library 2022-11-18 14:04:59 -07:00
Gon Solo
c3d4453bdf
Remove superfluous wscript lines. 2022-11-17 03:21:29 +01:00
Gon Solo
85a45b2645
Fix missing glib include path 2022-11-17 03:21:25 +01:00
10e004f0ec tweaks to TriggerBox::dump_custom_midi_bindings 2022-11-16 18:15:39 -07:00
5a07da9255 triggers: code to dump MIDI learn-ed bindings as a binding map 2022-11-16 16:25:09 -07:00
730064277d a start at custom MIDI learn for trigger slots 2022-11-16 08:37:57 -07:00
a130041547 use MIDISurface in original Faderport support, plus required changes in MIDISurface & Push 2 2022-11-16 08:37:57 -07:00
e5bbccef28 various changes to get Push 2 surface support functional after inheriting from MIDISurface 2022-11-16 08:37:57 -07:00
99712e7585 surfaces; convert push2 to inherit from MIDISurface 2022-11-16 08:37:57 -07:00
4fbf3028aa basic skeleton for new MIDISurface base class 2022-11-16 08:37:57 -07:00
6c3a1d98fe
Towards distinguishing user/factory LV2 presets
See also https://github.com/lv2/lilv/issues/55
2022-11-15 20:08:24 +01:00
82d43fa1ee Allow empty text in prompter 2022-11-15 03:24:19 +01:00
f107c063e7 Add conveniece API to set trasient-parent for Proxy Windows
On macOS, a transient parant should only be set for a single child
window. sibling windows to a single parent cannot be re-stacked.
2022-11-15 03:03:49 +01:00
4f3b8a9776
Allow to override default stack limit for background processes 2022-11-13 03:01:57 +01:00
2ae670055d
Explicitly initialize futex word
This is mainly to silence valgrind warnings, the actual value
is irrelevant here.
2022-11-13 03:01:50 +01:00
949f9e6051
Fix LV2 Atom ringbuffer overflow/corruption
Writing partial messages will lead to undefined behavior.
This does not generally happen (LV2 forge prevents overflow
of the Atom buffer itself), however if the GUI is frozen messages
may accumulate in Ardour's Ringbuffer.
2022-11-13 00:24:05 +01:00
376b50a6ae
Fix concurrency issue when deactivating plugins
Processor::deactivate must not be called concurrently with
processing. e.g. Threading rules https://lv2plug.in/ns/lv2core

This fixes a potential crash when freezing tracks
2022-11-13 00:24:02 +01:00
33eceadf3a Fix the latest French translation update 2022-11-11 14:45:09 +03:00
Julien Taverna
81df244ac1 Update fr.po 2022-11-11 14:23:10 +03:00
Julien Taverna
abd4d90637 Update fr.po
Add missing translations
2022-11-11 14:22:56 +03:00
Julien Taverna
737f6d8121 Update fr.po
Adding not translated strings in french.
2022-11-11 14:22:43 +03:00
Julien Taverna
8cac5bdef0 Update fr.po -> typo
typo
2022-11-11 14:22:31 +03:00
Julien Taverna
7a0ae90b17 Update fr.po
Add missing translations in french.
2022-11-11 14:22:11 +03:00
235d51a723
Revert "MixerScenes: implement 'undo' function for mixer scene recalls (libardour)"
This reverts commit a40c8d8e9a.
This reverts commit 01c7e14c6e.
This reverts commit 162a8c00b3.
2022-11-10 20:54:12 +01:00
162a8c00b3 fix merge error 2022-11-10 11:06:33 -06:00
a40c8d8e9a MixerScenes: implement 'undo' function for mixer scene recalls (libardour)
* this allows the session to better report which scene was last recalled
* this potentially allows controllers (like OSC) to momentarily recall
2022-11-10 09:13:50 -06:00
Edgar Aichinger
7ab5190680 remove obsolete entries 2022-11-09 17:18:16 +03:00
Edgar Aichinger
645a476c9f update german translation 2022-11-09 17:17:55 +03:00
f047182e8b
Mixer scenes are a sparse array, do not use arbitrary id 2022-11-09 09:52:37 +01:00
3d6ecaad79
Allow to override Ardour button text padding 2022-11-09 09:42:50 +01:00
88ff1fa192
LV2: only load default state if plugin requires it 2022-11-09 09:42:49 +01:00
3b49422277 Policy change: hiding a group should not affect its enablement
* in the past, the default behavior was: hiding a group would disable it,
    and then showing the group would re-enable it

* problem occurs when user has disabled a group; hiding and showing it
    unexpectedly re-enable the group

* there was a config variable to disable this behavior, but it was never
    shown on the GUI and therefore not discoverable

Despite the longstanding policy, there's really no reason for
  group visibility and enablement to be intertwined.

If this chnage causes a big problem for someone, they can revert to
  the prior behavior by setting the new config variable in the text file
2022-11-08 18:17:44 -06:00
44ff0e46ba MixerScenes: show last-selected scene (libardour part) 2022-11-08 17:29:40 -06:00
f55f0409f8 MixerScenes : scenes should report a Change when applied
* this is a convenience so the GUI can show last-selected scene
2022-11-08 17:29:13 -06:00
7038e586d0 OSC: add support for Mixer Scenes: save, recall, and state feedback 2022-11-07 10:28:30 -06:00
0bda71b40b BasicUI: Add simple functions to store and recall Mixer Scenes 2022-11-07 10:28:30 -06:00
68dc07ecee Mixer Scenes: initialize with a datestamp, rather than no name at all 2022-11-07 10:28:30 -06:00
John Emmas
9a678b71d6 'strings.h' isn't available in MSVC 2022-11-05 13:30:56 +00:00
a0a49b9769
Prevent crash if export format is N/A
This can happen when trying to use the mp3 preset
while there is no mp3 encoder available.
2022-11-04 22:10:19 +01:00
Mads Kiilerich
5ff1f28af8
Introduce internal MP3 support using libsndfile 1.1.0+ 2022-11-04 21:22:02 +01:00
Mads Kiilerich
886fe364b3
Add enums for handling libsndfile mp3 encoding
MP3 support was introduced in libsndfile 1.1.0 . It will be a simple
alternative to using external ffmpeg.

To avoid dependency on the new libsndfile or config-time checking,
hardcode the constants from sndfile.h . The actual availability will
have to be checked at runtime.
2022-11-04 19:51:26 +01:00
Mads Kiilerich
847f4fc93f
Fix bad escaped trailing newline in #define 2022-11-04 19:18:37 +01:00
d23c506088
Add missing bracket to tag MIDI channel splitted files 2022-11-04 18:54:10 +01:00
bed2e23ff6
Fix memory leak when replicating plugins 2022-11-04 17:57:50 +01:00
619d523bbe
Fix state version for copy-construction (1/2)
In some cases copying an instance requires an explicit
set_state() call (e.g. copy internal plugin state). This is
done by calling `set_state(other->get_state())`.

::get_state() produces XML as matching current_state_version.
(not loading_state_version).
2022-11-04 17:51:09 +01:00
0aad0ae464
Copy state when replicating VST3 plugins (#9006) 2022-11-04 17:40:37 +01:00
fe8d2e7695
third time lucky 2022-11-04 16:03:43 +01:00
03d2c8aa95
Fix previous commit strncasecmp() needs strings.h 2022-11-04 16:01:57 +01:00
0b8adbb1cb
Fix compilation on older systems (amend 3fb90523cc)
libs/ardour/sndfile_helpers.cc:67:68: error: 'strncasecmp' was not declared in this scope
2022-11-04 15:52:25 +01:00
Mads Kiilerich
4958c0d666
PulseAudio: fix error message 2022-11-04 13:44:55 +01:00
Mads Kiilerich
c2db9b4606
PulseAudio: just start stream uncorked
There was no reason to cork it when it was uncorked right after.

Playback will start when the buffer is full anyway.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
00d3ce6b62
PulseAudio: remove commented out code 2022-11-04 13:44:55 +01:00
Mads Kiilerich
40f9e0c6a6
PulseAudio: use explicit defaults for tlength and prebuf
These might be the values that PA would have chosen anyway, but make it
clear that Ardour is in control ... and will let the user control
"everything" with the buffer size.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
584ee51ca8
PulseAudio: set buffer attributes where they are used
Just moving code.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
8e7ef0d42c
PulseAudio: use correct casing
This will also change the internal backend name, so it will miss the
previous 'config' setting '<State backend="Pulseaudio" ...'` and the
session file's '<EngineHints backend="Pulseaudio" ...'. But that is no
big deal after upgrading. Especially after the backend has been broken
for some users for a while.
2022-11-04 13:44:55 +01:00
Mads Kiilerich
3fb90523cc Remove unused code in sndfile_helpers
No need to worry about maintaining this code with missing formats like
mp3.
2022-11-04 03:52:45 +01:00
Mads Kiilerich
d2fa78ba95 Fix "Could create output file" error message
In the log output, the error would look like:
  [ERROR]: Export initialization failed: Exception thrown by AudioGrapher::SndfileWriter<short>: Could create output file (.../export/something.wav)

Add the missing negation.

But it would perhaps be better phrase the message differently so it not
just hints so strongly towards a file system error preventing file
creation.

Perhaps something like "Failed to initialize sound export to %s"?
2022-11-04 03:52:45 +01:00
Mads Kiilerich
6fba7f6308 Handle SF_FORMAT_DOUBLE in sndfile_data_width
Many formats use ExportFormatBase::SF_Double which incorrectly would end
up in the default "we don't handle anything else within ardour" branch.

(It happened to work correctly anyway, since ExportGraphBuilder::SFC
handled the "magic" value 1 the same was as the "error" value 0.)

For correctness, use the "magic" value 1 for double.
2022-11-04 03:52:45 +01:00
Mads Kiilerich
652a2aa3ac Fix sndfile_data_width use of low bits of subtype of libsndfile format
The libsndfile format was masked with 0xf instead of the usual
SF_FORMAT_SUBMASK. It seems like the end result generally was correct
anyway, since no supported format used subtypes that used the low bits
for anything else. Most formats use SF_FORMAT_PCM subtypes. (Only Ogg
Vorbis uses a subtype, but that happens to have 0 in the low bits and
ended up in the "this will never happen branch" ... which happened to
work too.)

This could however be a real problem when SF_FORMAT_MPEG_LAYER_III with
value 0x82 is supported ... unless worked around in some way.

I don't see anything anywhere that could stuff anything in the high bits
of the subtype, so this trivially fixed by using SF_FORMAT_SUBMASK
correctly.
2022-11-04 03:52:45 +01:00
Mads Kiilerich
6531b24e9a ExportGraphBuilder: fix invalid use of SF_FORMAT as a bitfield
Apply SF_FORMAT_SUBMASK before comparing with the expected value.

It seems like it accidentally used to work correctly for all supported
libsndfile formats anyway.

But: It seems unfortunate to hardcode Vorbis in this place. Other
formats with quality control would have to be added to the list too. It
would be nice to do use something like has_codec_quality ...
2022-11-04 03:52:45 +01:00
Mads Kiilerich
07c370bdc9 Handle exception from export formats with unknown enum values
Before, an export format with an invalid enum value (for example in the
Encoding id) would crash Ardour with:

	unhandled exception (type std::exception) in signal handler:
	what: unknown enumerator FOO in PBD::EnumWriter

That kind of error can happen if a new type is introduced and users
switch back to versions without it.

Instead, catch such exceptions while loading a format, log an error, and
skip the format - similar to how other format loading errors are
handled.
2022-11-04 03:52:45 +01:00
7b86ef8eff
Fix region gain for various edit operations
When deriving regions (split, cut), the Region Gain curve
must not be inherited as-is.

See also 8b0ab38675 and e40f58c106
2022-11-03 21:22:32 +01:00
2b0e6ec476
NO-OP: clang format 2022-11-03 00:28:24 +01:00
de4840fb9b Register Region::time_domain property
This fixes PropertyChanged signal emissions, previously a property_id of
zero was used instead.
2022-11-02 21:39:37 +01:00
6813884857
Restore custom generic midi settings #9062
DeviceInfo (bindings file) can include explicit motorized
and threshold settings. These values, when specified, are
used during load_bindings() during set_state and overwrote
any user customization.

Furthermore showing the GUI invalidated any prior setting
by explicitly calling binding_changed, which re-applies.
2022-11-02 17:44:00 +01:00
Mads Kiilerich
ef5b29c6dd
PulseAudio: group operations and their verification together
Improves readability a bit. IMO.
2022-11-02 02:24:35 +01:00
Mads Kiilerich
b046ffe395
PulseAudio: drop idempotent dynamic cast 2022-11-02 02:24:35 +01:00
Mads Kiilerich
5bb7336c79
PulseAudio: consistent use of _buffer
For consistency and readability, avoid using high level getter in low
level code.
2022-11-02 02:24:35 +01:00
Mads Kiilerich
51501e5532
PulseAudio: don't set _run = false when stop() already did it 2022-11-02 02:24:35 +01:00
Mads Kiilerich
ba5ca2de05
PulseAudio: always log error reason in error handling
It adds some new strings to translate. These strings might be so rare
and technical that it is a bit pointless to translate them. But let's
stay consistent...
2022-11-02 02:24:35 +01:00
Mads Kiilerich
3fbbef3038
PulseAudio: fix "already active" message emitted when not active
Apparently just a missing fixup after copy-paste.
2022-11-02 02:24:34 +01:00
Mads Kiilerich
2666dfe900
PulseAudio: add missing return in error handling
Don't try to continue if the initial uncorking fails.
2022-11-02 02:24:34 +01:00
Mads Kiilerich
06b3d5ba33
PulseAudio: spin waiting for enough capacity to write
pa_threaded_mainloop_wait might wake up for several reasons. And there
is no point (but possibly harm) in moving on before we have verified
that PA actually is ready to receive our write without overflow.
2022-11-02 02:24:34 +01:00
Mads Kiilerich
27a2bf1f59
PulseAudio: clean up freewheeling transitions
ae3c8b19c6 and 03a17df68c reworked the transitions to and from
freewheeling. Some of it seems to have been experiments that tried
several things out, and generally it seems to have worked. It left some
commented out code. Clean that up.
2022-11-02 02:24:34 +01:00
Mads Kiilerich
04c24be2db
PulseAudio: don't drain the stream right after initial uncorking
The draining was introduced in ae3c8b19c6, apparently as an experiment
doing several changes. But the drain is outside the loop where
freewheeling changes, so the fix must have worked for other reasons.

There doesn't seem to be any benefit from draining at that point. The
stream is already empty. If not, we could have flushed it.

Draining right after uncorking will conceptualy create an intentional
underflow, even though it isn't reported as such. PipeWire seems to
(something like 6-12 months ago) have regressed in handling of that grey
area, causing that *underflow* to cause a request for too much data, and
thus causing constant *overflows* and unusable playback.

This change makes PulseAudio playback work for me again.
2022-11-02 02:24:34 +01:00
c84073e5cf
Print reversible command debug output
Debug builds will assert, the PBD::warning will not
be readable anywhere after that, so long it to stderr.
2022-11-02 00:47:09 +01:00
292cff7cfc
Prevent undo transaction crashes in optimized builds
Worst case this will lead to undo operations not being
saved rather than segfault (debug builds will still assert).
2022-11-02 00:45:06 +01:00
c6dade9484 OSC: implement controls and feedback for a banked trigger grid controller
(first iteration ... API may change)
2022-11-01 13:52:54 -05:00
bdf9cedb0e triggers: implement grid banking in BasicUI so it can be shared (?) 2022-11-01 13:52:54 -05:00
0851d230cd basic_ui: add convenience functions to access an NxM bank of triggers 2022-11-01 13:52:54 -05:00
4f5106ae82 triggers: add convenience function to report # of trigger channels 2022-11-01 13:52:54 -05:00
756e0beb1b triggers: more session:: functions to access Triggers by index 2022-11-01 13:52:54 -05:00
c23210aae8 various fixes to prevent BasicUI diverging from GUI behaviors 2022-11-01 13:52:54 -05:00
Gon Solo
bb27b24596
Fix warning about integer division.
bugprone-integer-division: Result of integer division used in a floating
point context; possible loss of precision.
2022-11-01 15:56:55 +01:00
c9a9f40987
Add API for Lua DSP to directly set Biquad coefficients 2022-11-01 14:51:07 +01:00
62540fb5af tempo map: grid generation, fix use of barmod to insert bar points into return 2022-10-31 17:05:55 -06:00
0ef10e4f5f canvas: ruler never shows marks/text for points too close to display the label 2022-10-31 17:05:55 -06:00
5599e136c0
Implement "vicanek" matched biquad filters 2022-10-31 22:47:30 +01:00
d93c8d64bc MIDI region combine: fix conceptual errors 2022-10-31 14:22:17 -06:00
f4a57f83e6 evoral: Sequence::clear() needs to remove patch changes and sysexes too 2022-10-31 14:22:17 -06:00
fded5063d9
Yet another automation time-domain fix
This issue was fixed in 6a55146fd but resurfaced in 489c9ace9.
2022-10-31 16:23:20 +01:00
9c2c08973d tempo map: fix incorrect computation of ::bbt_at() (#9049)
This caused problems with TempoMap::get_grid() ("gone backwards").
2022-10-30 19:35:58 -06:00
bdacfb8724 Fix invalid use of Doxygen "@param" command
This is never for inline references to parameters, only for starting parameter
documentation blocks.  The "@p" command is for this, although unfortunately
Doxygen doesn't actually do anything with it and it's just an alias for code
text.
2022-10-30 20:44:28 -04:00
96bab3ce46
NO-OP: doxygenize timepos_t::distance 2022-10-31 00:22:21 +01:00
1eaaf4303b jack backend: catch some possible errors in ::get_port_name() 2022-10-29 09:37:17 -06:00
6449bf5464 source: provide a little syntactic sugar via ::time_since_capture_start() 2022-10-28 16:38:46 -06:00
1139b38db5
Update comment (amend bd339713) 2022-10-28 13:20:04 +02:00