13
0
Commit Graph

19840 Commits

Author SHA1 Message Date
89d8dc26dd
Resolve export format ambiguities
This fixes an issue when switching formats.
ExportFormatDialog::update_selection iterates e.g. WAV BWV.
If BWV was selected and a user selects WAV the following happpens

1. WAV is selected
2. BWV is deselected
3. Since BWF and WAV are the same format, ExportFormatManager
   deselects WAV
2022-12-06 17:30:43 +01:00
d2212cbfb9
Add 24kHz as export rate, and limit opus to 8,24,48 per spec 2022-12-06 06:35:44 +01:00
c8b39094ca
Opus has no sample-formats 2022-12-06 06:35:40 +01:00
4d05c7add9
Map sndfile/opus quality to bitrate 2022-12-06 06:35:15 +01:00
211ff64e7d
Prepare for ogg/opus encoding 2022-12-05 23:43:34 +01:00
c505024a4b temporal: when resetting the map, position BBT markers in beat time (and stop reset there) 2022-12-05 10:01:49 -07:00
12b672492e tempomap: fix and improve efficiency and readability in ::get_grid() 2022-12-05 10:01:49 -07:00
8f257e1b2e
Thin MIDI automation when combining regions #9117 2022-12-04 12:12:12 +01:00
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