13
0
Commit Graph

36709 Commits

Author SHA1 Message Date
883527ba3e temporal: add Meter::round_to_beat() 2022-11-29 10:09:39 -07:00
f2a725b311 NO-OP: add some explanatory comments to Editor::snap_to_bbt() 2022-11-29 10:09:39 -07:00
21c6c723c4 differentiate between StartupFSM::{Exit,Quit}Program
QuitProgram is a user choice, ExitProgram is an error condition
2022-11-29 10:09:39 -07:00
c19f3f07b0 on macOS, try to fix weird language preference handling
If the user has en_XX, consider that as untranslated english EXCEPT for en_GB
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
abf92e42c0
Do not explicitly copy [whole-file] Region
Playlist::add_region copies regions as needed (see 8d045e15dc),
without forking the Source.

This fixes an issue when importing MIDI files. When
midi-copy-is-fork is enabled (enabled by default), the
RegionFactory::create call used during import forked the
region. This resulted in two Sources being created for each
imported MIDI file.
2022-11-27 13:09:52 +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
84b11298c9
Update Lua VAMP scripts, follow readable API change since 7.0 2022-11-26 16:30:53 +01:00
bc6a9609ff
Address some Wmissing-prototypes in qm-dsp 2022-11-26 16:23:52 +01:00
Gon Solo
b7aa98ee0c /float*/std::vector/ in fft_result. 2022-11-26 12:29:23 +01:00
a63e1add6d Remove unused config variables 2022-11-25 20:10:33 +01:00
f98a14ed13 more debug output regarding macOS language preferences and translation 2022-11-23 08:08:00 -07:00
264140c191 do not label ticks generated to fill space between ::get_grid() results 2022-11-22 18:09:46 -07: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
6af9dffa7c
Remove UI code to import markers as locations (3/4) 2022-11-22 01:46:22 +01:00
c8711aacc6
Import MIDI markers direct to the source (3/4) 2022-11-22 01:46:00 +01:00
4e77bbdd96
dd import_markers option (2/4) 2022-11-22 01:45:42 +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
8468607a37 be (more) professional 2022-11-19 22:25:03 -07:00
d757fd5506 print XML errors to stderr not just the error stream 2022-11-19 21:30:27 -07:00
fd78ea90b8 if the startupFSM detects a fatal error during startup, at least tell the user 2022-11-19 21:30:27 -07:00
Mads Kiilerich
88d4145b02 AudioClock: drop other unused stuff 2022-11-20 02:31:24 +01:00
Mads Kiilerich
6ae1f44c17 AudioClock: drop unused _edit_by_click_field 2022-11-20 02:31:24 +01:00
Mads Kiilerich
e16dd3866c AudioClock: drop unused set_mode noemit parameter 2022-11-20 02:31:24 +01:00
Mads Kiilerich
1e77814c62 MainClock: drop 'primary' parameter
The main clock no longer use direct access to the config system, and
is no longer restricted to know whether it is primary clock or not.
2022-11-20 02:31:22 +01:00
Mads Kiilerich
c805ff5fdf MainClock: introduce change_display_delta_mode signal
Avoid MainClock directly telling the config system which of the
MainClock instances was requested changed through the menu.
2022-11-20 02:29:33 +01:00
Mads Kiilerich
38d7d28b25 MainClock: introduce actual set_display_delta_mode
Make MainClock more self-contained and generic by moving logic from the
Config system and to the class itself, while making the class less aware
of how it is used in the config system.

It is slightly dirty to store the initial AudioClock widget name in
MainClock, but less dirty than having to pass the whole name correctly
every time the delta mode changes.

Also avoid confusing use of 'mode', which in AudioClock is used for the
units/formatting of the clock.
2022-11-20 02:12:40 +01:00
Mads Kiilerich
75f6b8fb66 MainClock: rename fake setter to change_display_delta_mode
We would like to introduce an actual setter, but the most appropriate
name for it was used by something else: the high level callback invoked
when selecting the menu item.
2022-11-20 02:12:40 +01:00
Mads Kiilerich
8f5b7aff3a MainClock: drop absolute_time as an alias for last_when 2022-11-20 02:12:40 +01:00
1314987f8b
Towards theme-able, scale-able step-entry
* use UTF-8 music symbols for both
  - note length
  - dynamics (velocity)
This allows for both color theming as well as scaling. Previously
fixed size, black icons were used.

* directly rely on ActionManager actions for radio actions
This simplifies code and removes ambiguities.

* hide Bank/Patch buttons. Those actions are not implemented
2022-11-20 02:01:12 +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
05b8df6da9
Item::grab_focus was a NO-OP (see 34e7c2ffc5) 2022-11-19 22:02:21 +01:00
2f68e0df5b
Remove unused define CANVAS_COMPATIBILITY (3/3) 2022-11-19 21:49: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
c30df32007
Lua Convolver tweaks
show how to use IRs from the session-folder, set file
when instantiating the plugin.
2022-11-19 20:25:22 +01:00