Commit graph

9508 commits

Author SHA1 Message Date
Robin Gareus
6b4e5f1d47 ALSA: update error-codes for HW initialization. 2015-10-01 12:42:05 +02:00
Tim Mayberry
dcf327f86a Return meaningful error codes when ALSA backend fails to start
Unfortunately it seems that in zita-alsa-pcmi doesn't set state() correctly in
some cases. Setting an invalid SR doesn't display the correct error message,
first guess would be that set_hwpar is failing and state() is not
representative of the actual error.
2015-10-01 09:10:19 +10:00
Tim Mayberry
aa713fcd83 Return meaningful error codes when PortaudioBackend fails to start
So they can be used to give a contextual error message in the GUI
2015-10-01 09:10:19 +10:00
Tim Mayberry
f178152114 Use portaudio error codes in the PortaudioIO class.
Having error codes defined in PortaudioIO means it is not dependent on the
ErrorCodes in AudioBackend but it doesn't really make sense to have another
set, so just use the PA ones until they become insufficient.
2015-10-01 09:10:19 +10:00
Tim Mayberry
d85ab8af89 Reinterpret the return value of AudioBackend::start as AudioBackend::ErrorCode
This will allow backends to return a more meaningful error message. Eventually
an error code could be returned by AudioEngine::start and the GUI can then use
AudioBackend::get_error_string to convert the error into a translated error
message directly, or it may be desirable to define its own error messages.

The reasons for not doing that right now is that this is a workable solution
with the least change required.
2015-10-01 09:10:19 +10:00
Tim Mayberry
9a7f96f15a Add a couple of error codes to AudioBackend::ErrorCode
Also use the error message from ARDOUR_UI::reconnect_to_engine as the default
error string
2015-10-01 09:10:19 +10:00
Paul Davis
71343e835a change the logic for a capture buffer flush to disk when a locate is occuring
We can't check for Session::actively_recording() because punch out may have disabled that. Rather
than add logic to check if a flush is needed (which is not much different than the code that runs
as part of the flush to disk), just do a flush anyway.
2015-09-30 13:02:58 -04:00
Paul Davis
7ff47ab80e tweak some debug output 2015-09-30 13:02:58 -04:00
Paul Davis
343bc5160b remove apparently bogus adjustment to capture_captured in AudioDiskstream::transport_looped 2015-09-30 13:02:58 -04:00
Paul Davis
2cf779fd0c split Butler::flush_tracks_to_disk() into two distinct versions with clear names and make one of them private 2015-09-30 13:02:58 -04:00
Len Ovens
239da0efb5 Fix Mackie control metering (fixes #6608). 2015-09-28 20:13:15 -07:00
Robin Gareus
b8ccf8accc BWF USID according to EBU-R99 2015-09-29 01:20:30 +02:00
Paul Davis
1536228d00 fix initialization of reserved I/O names vector 2015-09-28 17:52:27 -04:00
Paul Davis
34f088576c get loop recording working when using seam-ed looping 2015-09-28 17:42:11 -04:00
Paul Davis
0613ddd1f9 better more reliable checks on renamed, newly created and imported track/bus names 2015-09-28 17:42:11 -04:00
Paul Davis
9f8fe4b0bc change semantics of 4th argument to Session::locate to mean "this locate is connected with play-loop just being enabled" 2015-09-28 17:42:11 -04:00
Paul Davis
b9611a3168 a few new DEBUG_TRACE calls related to session transport state 2015-09-28 17:42:11 -04:00
Paul Davis
9202bc162a minor fix for possible off-by-one logic when at/near the end of the loop range 2015-09-28 17:42:11 -04:00
Paul Davis
f24fef669a fix a long-standing bug arising from a change to some logic which reversed an "is-rolling" test 2015-09-28 17:42:11 -04:00
Paul Davis
c9b991ba50 move code location where loop playback is cancelled when stopping 2015-09-28 17:42:11 -04:00
Paul Davis
f2aa681974 loop record is a feature whether or not loop-is-mode is true or not 2015-09-28 17:42:11 -04:00
Paul Davis
3e23b5903e Session::disable_record() should work whether we are in loop mode or not 2015-09-28 17:42:11 -04:00
Robin Gareus
dd89363292 remove cruft. 2015-09-28 00:36:44 +02:00
Robin Gareus
e65903a49a Sort ports in state-save.
This results in identical XML if the session did not change, allowing
to keep track of state-changes easily (e.g. session file in git).

Thanks to deva (again).
2015-09-27 16:10:10 +02:00
Robin Gareus
ed2ce36735 LV2 state cleanup, patch from deva. closes #6607
set _impl->state on session load in order to detect state changes
properly (no not save duplicate states).

+ some small mem-leaks (free state)
2015-09-27 14:07:57 +02:00
Robin Gareus
e344d379d2 update semantics of PBD::remove_directory()
Remove the directory recursively including itself. The function
is used in two places only:

* LV2Plugin::add_state() -- no change, remove tmp. state
* Session::save_as()  -- on error, remove target

In both cases removing the folder itself is correct.
2015-09-27 12:44:54 +02:00
Robin Gareus
26fdf99a92 copy LV2 options to heap.
Stack pointer becomes invalid when the array goes out of scope.
Fixes rare crash in suil_wrapper_new() or GUIs iterating over options.
2015-09-25 19:44:30 +02:00
John Emmas
e4adb99e06 Add some casting to keep MSVC happy 2015-09-24 09:06:19 +01:00
John Emmas
402c69c0fd Add some newly introduced sources to our MSVC project (libardour) 2015-09-24 09:05:38 +01:00
Robin Gareus
fedec84d3b fix iterator after map::erase().
The iterator referring to the removed element is invalidated.
Other iterators remain valid.
2015-09-23 22:26:44 +02:00
Robin Gareus
ccf558f482 standardize VST Callback debug message print 2015-09-22 21:02:27 +02:00
Robin Gareus
30713adb16 add debug flags for VST Callbacks 2015-09-22 20:37:35 +02:00
Robin Gareus
f5b3ad18cf PBD::Debug to stdout
fixes debug output on windows. std::cerr is lost,
only std::cout, printf() and fprintf(stderr, ..) work.
2015-09-21 23:08:45 +02:00
Robin Gareus
621e9992a7 amend 01403dc (VST Pin connected) 2015-09-21 23:01:59 +02:00
Todd Naugle
233c144c2c Update RouteGroup property defaults.
This is part of a larger fix for #6450. Previously new route groups were
created with different default properties depending on which code created
the new group. The group tab method had all properties set and that is now
going to be the default.
2015-09-21 14:49:31 -05:00
Robin Gareus
cba31db6fe processor-box: explicitly check for "Amp" (Fader) 2015-09-21 13:14:29 +02:00
Robin Gareus
77ee3d18a6 add includes for g_open() 2015-09-21 11:06:34 +02:00
Ben Loftis
df0544c4e6 fix vst plugin; not sure if this was the intention, but it builds now. 2015-09-21 10:10:07 +02:00
Len Ovens
b1424dab79 Vpot assign buttons don't do anything, don't light LEDs either. 2015-09-21 10:04:06 +02:00
Len Ovens
47976ed4fa Make Mackie control surface LEDs for modifier keys only light while pressed. (fixes #6601) 2015-09-21 10:03:56 +02:00
Robin Gareus
01403dc1dd fix VST audioMasterPinConnected callback 2015-09-21 02:20:22 +02:00
André Nusser
6a248b61f0 fix duplicating multiple selected regions - fixes #6202 2015-09-20 22:22:39 +02:00
Robin Gareus
7b4aa97145 explicit string.h include for memset() 2015-09-20 20:24:49 +02:00
Robin Gareus
70bed9d6a0 silence detection: include fades.
Fades must be outside of regions above threshold in order
to properly split drum-hits or fast transients in general.
2015-09-20 19:40:32 +02:00
Robin Gareus
ac078fd93f fix sndfilesource::open return value typo. 2015-09-20 18:38:52 +02:00
Robin Gareus
8bee256e4f prepare LTC File Reader 2015-09-20 18:35:29 +02:00
Robin Gareus
861d6f81a3 add silence-stripping fade constraints
Ensure that non-silent regions are at least
as long as the selected fade-duration.
2015-09-20 01:28:15 +02:00
Robin Gareus
bd5b97e964 Dummy: add a CC only test-sequence 2015-09-19 19:00:43 +02:00
Robin Gareus
91d786a078 fix silence-strip process report 2015-09-19 19:00:42 +02:00
Tim Mayberry
2e9e8d3b33 Fix windows test to also pass under wine
It looks as if the default timer resolution for applications running under wine
is different than Windows so just test that the minimum timer resolution is
below a certain amount rather than checking before and after calling
timeBeginPeriod
2015-09-19 10:59:39 +10:00