Commit Graph

36579 Commits

Author SHA1 Message Date
Robin Gareus d808315e2a
Offer dedicated alternatives for Delete/Backspace
This follows Processor Box:
 <Binding key="Delete" action="ProcessorMenu/delete"/>
 <Binding key="BackSpace" action="ProcessorMenu/backspace"/>
2022-12-02 19:50:39 +01:00
Robin Gareus 899cacdf86
Delete/BackSpc clears selected trigger-clos 2022-12-02 19:19:20 +01:00
Robin Gareus 753d395bb3
NO-OP: add comment for mdns 2022-12-02 18:01:21 +01:00
Robin Gareus 7d928bf265
Announce OSC via mDNS 2022-12-02 17:34:10 +01:00
Robin Gareus c53b19c039
Add zeroconf/mdns support 2022-12-02 17:32:11 +01:00
Robin Gareus aae15e3c90
Fix Wreorder, initialize variables 2022-12-02 13:13:13 +01:00
Robin Gareus 81ccb685b2
Update CD marker Lua script, use new API 2022-12-02 13:06:29 +01:00
Robin Gareus 5d42509a21
Report error to user in startupFSM
StartupFSM does not catch SessionException from Session::load_state,
but bails out early, after checking `get_info_from_path` instead.
So we have to explicitly report errors.
2022-11-29 20:03:44 +01:00
Robin Gareus 23a0efc286
Indicate error when parsing session fails 2022-11-29 20:00:15 +01:00
Paul Davis c312d570f4 move twist-tempo drag from tempo ruler to BBT ruler
Behavior remains unchanged, just the location/ruler for the start of the drag.
2022-11-29 10:09:39 -07:00
Paul Davis cd86521c65 rulers: improve labelling of non-quarter note beats in tempo ruler 2022-11-29 10:09:39 -07:00
Paul Davis 8b06eb9878 editor rulers: do not try to generate "fill" ticks/lines for the grid
We now generate a grid from the TempoMap of appropriate "density". Doing this
in the editor just gets things wrong (and partially duplicates the (complex)
logic already present in the TempoMap).
2022-11-29 10:09:39 -07:00
Paul Davis e3dc0a24f2 canvas ruler: use second font description appropriately 2022-11-29 10:09:39 -07:00
Paul Davis 148dfdd23c editor tempodisplay: use new TempoMap::get_grid() argument to get a finer grid 2022-11-29 10:09:39 -07:00
Paul Davis 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
Paul Davis a124062fa2 temporal: move_tempo() must use beats (timesig dependent) not quarters 2022-11-29 10:09:39 -07:00
Paul Davis 1f4717d93b temporal: reset map requires a BBT-sorted map, not audio time 2022-11-29 10:09:39 -07:00
Paul Davis a817142676 NO-OP: extend debug trace output in superclock_at (BBT_Time) 2022-11-29 10:09:39 -07:00
Paul Davis 8299778d26 temporal: slightly change internal API for omega (ramp) computation 2022-11-29 10:09:39 -07:00
Paul Davis d9ed0f0d2e temporal: use muldiv_round to avoid overflow in TempoMetric::superclocks_per_grid() 2022-11-29 10:09:39 -07:00
Paul Davis 883527ba3e temporal: add Meter::round_to_beat() 2022-11-29 10:09:39 -07:00
Paul Davis f2a725b311 NO-OP: add some explanatory comments to Editor::snap_to_bbt() 2022-11-29 10:09:39 -07:00
Paul Davis 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
Paul Davis 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus 03575011b5
Retain ctime/mtime when encoding file for archiving 2022-11-27 14:11:05 +01:00
Robin Gareus 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
Robin Gareus 580179272d
NO-OP: cleanup duplicate X_ escape 2022-11-27 01:59:01 +01:00
Robin Gareus d06a0d9c9d
Copy MIDI Source properties when cloning MIDI Regions 2022-11-27 01:58:58 +01:00
Robin Gareus 84b11298c9
Update Lua VAMP scripts, follow readable API change since 7.0 2022-11-26 16:30:53 +01:00
Robin Gareus 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
Robin Gareus a63e1add6d Remove unused config variables 2022-11-25 20:10:33 +01:00
Paul Davis f98a14ed13 more debug output regarding macOS language preferences and translation 2022-11-23 08:08:00 -07:00
Paul Davis 264140c191 do not label ticks generated to fill space between ::get_grid() results 2022-11-22 18:09:46 -07:00
Paul Davis 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
Robin Gareus 4cd01a5f6e
Fix soundcloud curl callback
This also addresses C++17 compatibility.
2022-11-22 17:52:40 +01:00
Paul Davis fe386e51b1 incomplete comments - just say no 2022-11-21 18:34:13 -07:00
Paul Davis c7cf4d96e0 confusing comments - just say no 2022-11-21 18:33:17 -07:00
Paul Davis a84d3e04c4 tests: add new test to check that tempo map reset changes beat time correctly 2022-11-21 18:18:21 -07:00
Paul Davis 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
Robin Gareus 6af9dffa7c
Remove UI code to import markers as locations (3/4) 2022-11-22 01:46:22 +01:00
Robin Gareus c8711aacc6
Import MIDI markers direct to the source (3/4) 2022-11-22 01:46:00 +01:00
Robin Gareus 4e77bbdd96
dd import_markers option (2/4) 2022-11-22 01:45:42 +01:00
Robin Gareus 4f4b931ccc
Add import_markers option (1/4) 2022-11-22 01:44:53 +01:00
Robin Gareus 3567a7f610
Parse MIDI Lyrics meta-events (import w/markers) 2022-11-21 21:53:15 +01:00
Robin Gareus 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