13
0
Commit Graph

8611 Commits

Author SHA1 Message Date
4651b10345 Remove unnecesary clearing of local variable in EngineControl 2015-08-11 09:46:46 +10:00
ab7cf8c7a7 Fix state restoration in EngineControl dialog for backends with driver selection
This also prevents backend_changed from being called more that once in the
EngineControl ctor
2015-08-11 09:24:53 +10:00
c165c991ca Use the current backend device names to set active text in device dropdowns if available
Compare device names with enumerated devices rather than assume an empty string
has special meaning
2015-08-11 09:24:53 +10:00
6451060bd1 Remove Unwinder instances in EngineControl::set_*_device_popdown_strings
These are not necessary since SignalBlocker will prevent signal emission
2015-08-11 09:24:53 +10:00
495dd2e52a Compare the string returned by backend->driver_name() against driver names in EngineControl
Don't assume an empty string has any meaning and compare string returned with
enumerated drivers
2015-08-11 09:24:52 +10:00
e20d74079a Remove Unwinder instance from EngineControl::set_driver_popdown_strings
Not necessary now that signal emission is blocked via backend_changed()
2015-08-11 09:24:52 +10:00
dfa9a2326a Reimplement method using code extracted from EngineDialog::backend_changed
EngineControl::set_driver_popdown_strings is now like the other
set_*_popdown_strings methods in that it sets the driver strings and a
default active entry and returns false if no drivers are available.
2015-08-11 09:24:52 +10:00
1bea87e10a Remove previous fix attempt at restoring state for backends with driver selection
The fix does not work properly anymore for the Portaudio backend and needs
fixing in another manner. It will now be temporarily back to the broken state
it was in before the "fix".
2015-08-11 09:24:52 +10:00
eaf5ed2b18 Use SignalBlocker class in EngineControl to block widget signal emission
This stops a whole lot of redundant signal emission and makes it much easier to
think about what is going on. It also makes the dialog present much faster.
2015-08-11 09:24:52 +10:00
001c1a0910 Extract part of EngineControl::backend_changed into EngineControl::update_midi_options 2015-08-11 09:24:52 +10:00
6e0d062773 Move call to EngineControl::device_changed into EngineControl::list_devices ()
This prevents devices_changed from being called twice with backends that have
separate input and output devices
2015-08-11 09:24:52 +10:00
c8f8f75831 Add debug output to blocking/unblocking signals in EngineControl dialog 2015-08-11 09:24:52 +10:00
1bd15bef6c Add methods in EngineControl for blocking and unblocking signals
Only intended to be used with the nested SignalBlocker class
2015-08-11 09:24:52 +10:00
324b5ffbac Refactor part of EngineDialog ctor into connect_changed_signals method 2015-08-11 09:24:52 +10:00
ecd9950413 Add some basic debug output in EngineControl dialog
This should make it easier to see what affect subsequent commits have on
reducing the amount of unnecessary device querying and signal emission
2015-08-11 09:24:52 +10:00
4f02f81591 Add debug bit for debug output in the EngineControl dialog 2015-08-11 09:24:52 +10:00
f428cb4bf1 Refactor part of EngineControl::set_state into new set_current_state method 2015-08-11 09:24:52 +10:00
a9c149216d Remove unused method in EngineControl dialog 2015-08-11 09:24:52 +10:00
caae165cd3 Defer to device_changed when input or output devices change
This reduces the amount of unnecessary querying of samplerate and buffersize
for devices
2015-08-11 09:24:51 +10:00
94014dc5d5 fix video-metadata for windows. 2015-08-10 22:47:32 +02:00
460a06380c Revert "Disable video-export metadata on windows (for now)"
This reverts commit 54ab3fb37e.
2015-08-10 22:02:01 +02:00
54ab3fb37e Disable video-export metadata on windows (for now)
Quote escaping metadata currently breaks export.
2015-08-10 00:35:24 +02:00
466c50d3a0 fix a -Wparentheses 2015-08-09 19:13:55 +02:00
29b06768d5 handle some wire edge-cases & explanation 2015-08-09 08:37:28 +02:00
eb3cbd7209 Merge branch 'pt-5-7-x' of https://github.com/zamaudio/ardour 2015-08-08 17:49:05 +02:00
84605fdb14 update summary when re-ordering tracks - fixes #6502 2015-08-08 17:42:50 +02:00
74ad68e675 prepare 2d-panner theme 2015-08-08 17:42:43 +02:00
84938f31cf Fix more warnings
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-09 01:42:22 +10:00
72041726fb Added pt5 pt7 ptx initial format support
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-09 00:48:16 +10:00
7a3b6e6d08 remove more cruft (dead assignments) 2015-08-07 21:16:14 +02:00
160c185fc0 Don't call AudioBackend::enumerate_drivers for Backend states without driver selection
AudioBackend::enumerate_drivers is not supposed to be called for backends that
don't support driver selection. The wavesaudio backend asserts if the method is
called.
2015-08-07 21:41:37 +10:00
815ffcd567 Set active text in buffer_size combo in EngineControl dialog
Fixes issue with empty buffer size combo when switching to the PA ASIO driver
2015-08-07 01:42:28 +10:00
1d6e8f6681 Fixed pt import start offsets and samplerate mismatch offsets
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-06 17:35:17 +10:00
bd8662efe3 prepare for the future 2015-08-06 00:50:54 +02:00
d686cb213f Added PT .ptf session audio import functionality
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2015-08-06 00:28:35 +02:00
8a8b5db2c3 add synth when drag/drop importing .mid - fixes #6474 2015-08-05 17:53:03 +02:00
507006a9a6 sort the Stem Export route list 2015-08-04 15:33:44 -05:00
3cbd73de49 (hopefully) less ambiguous wording of processed stem exports. Update the info text when checkbox state is changed 2015-08-04 14:49:46 -05:00
2e8e23fac3 update routing wires display 2015-08-04 18:42:27 +02:00
8132a31606 don't resize plugin-scan-report window, use sensitivity. 2015-08-03 15:54:55 +02:00
2437bbbe23 Fix state restoration in Engine dialog for Backends with driver selection
Connect to the backend_combo changed signal after setting state as calling
backend_combo.set_active_text() in set_state was triggering backend_changed(),
which would then see the driver_combo had not been set and set it to the
incorrect value.

The value/name of the backend needs to be restored first then we can populate
the driver combo and set the correct active entry from the saved state. After
which backend_changed() will populate the device combo's etc so they can then
be set to the correct active values from the saved state.
2015-07-31 09:59:53 +10:00
b2817bfac5 make it easier to get errors out of GTK + Glib 2015-07-30 19:05:12 +02:00
a021da9a9d oops. 2015-07-29 03:34:27 +02:00
36f6aa9356 work-around OSX loadlocale thread safety.
This is not a real fix; just a stop-gap for the worst offender.

iostream on OSX is not thread safe.
Sadly no crash report so far managed to catch the 2nd thread in action.
looks like the GUI thread is preempted, 2nd thread succeeds, and the 
crash occurs later).

see also https://discussions.apple.com/thread/3479591

crash in
   s << c->internal_to_user (c->get_value ());

ardour-4.1.335(5000,0x7fff777f5300) malloc: *** error for object 0x7fe2f3e06170: pointer being freed was not allocated
1   libsystem_c.dylib       abort + 129
2   libsystem_malloc.dylib  free + 428
3   libsystem_c.dylib       __numeric_load_locale + 544
4   libsystem_c.dylib       loadlocale + 216
5   libstdc++.6.dylib       std::__convert_from_v(int* const&, char*, int, char const*, ...) + 193
6   libstdc++.6.dylib       std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, double) const + 193
7   libstdc++.6.dylib       std::ostream& std::ostream::_M_insert<double>(double) + 221
8   ardour-4.1.335          ProcessorEntry::Control::set_tooltip() + 854 (processor_box.cc:578)
9   ardour-4.1.335          ProcessorEntry::Control::control_changed() + 446 (processor_box.cc:637)
10  ibpbd.dylib             PBD::StandardTimer::on_elapsed()
2015-07-28 20:54:43 +02:00
a7508a9cf0 When printing an XML related error, guard against NULL pointers getting passed to our error stream 2015-07-23 17:55:14 +01:00
e1f168de11 rename Marker class
Classes are in the global namespace.
OSX has a flat namespace and OSX32bit/Carbon has a Marker too.
2015-07-23 17:58:40 +02:00
775a400007 amend a3c21ae, video-server localhost -> 127.0.0.1 2015-07-22 12:45:24 +02:00
64b63f8ad9 plugin analysis set block-size
fixes live spectrum analysis (for AU)
2015-07-20 16:16:25 +02:00
9da934ff29 reworked variant of john’s soundfile locale fix
see 87b89a6

IMPORTANT NOTE: In theory, the correct glibmm function should have been Glib::filename_from_utf8() but I couldn't make that work on Windows and 
ended up using Glib::locale_from_utf8() instead. sfdb import will therefore
need to get re-tested on the other platforms (especially in a non-English locale).


If this fix doesn't work we should probably revert to the previous strategy
but using the global specifier "::g_open()" explicitly…
… and only on PLATFORM_WINDOWS  (POSIX #define g_open open) fails regardless.
2015-07-17 16:03:24 +02:00
9673e6b271 merge fix again 2015-07-16 17:14:14 -05:00