Commit Graph

352 Commits

Author SHA1 Message Date
bf1b65029c update driver selection sensitivity 2015-08-11 22:04:28 +02:00
212a4c1f8d refine "Running" message. 2015-08-11 19:44:14 +02:00
6cc029f5da don't allow to change devices while engine is running. 2015-08-11 19:13:10 +02:00
52c25cab36 allow to stop engine for re-configure 2015-08-11 15:38:38 +02:00
6bb51a26eb consolidate engine-dialog widget sensitivity logic.
Use a single function with the complete logic.

Since the callgraph is complex, there is internal state as well as GUI
state (different pages), do not rely on individual methods to get it
right.

A widget's sensitivity should only be controlled by one function.
2015-08-11 15:38:31 +02:00
a3b2b1bcfa Engine Dialog: use new API 2015-08-11 15:38:19 +02:00
22acbc1cee Fix to ensure there are always sample rates and buffer sizes in the dropdown
This can happen if both input and output devices are set to None for instance
on backends that report no supported SR or buffer size for the None device.
2015-08-11 14:20:43 +10:00
c80e4c04c5 Extract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings 2015-08-11 14:13:06 +10:00
a8daa36901 Use a union of all sample rates and buffer sizes for all devices in EngineControl
Using just the input device doesn't work in the case that the input device is
an invalid/None device
2015-08-11 14:00:57 +10:00
5e5db3c402 Check the default SR is available for a device when setting SR in EngineControl 2015-08-11 09:57:38 +10:00
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
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
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
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
364022a35a add locale-guard when saving engine states, also #6418 2015-07-08 11:34:57 +02:00
3d2f298fb2 Change message about JACK already running to be less scary 2015-06-03 13:48:43 -04:00
4d2bc612f2 engine dialog fixes for multiple devices 2015-06-01 01:01:42 +02:00
d9f24a46aa Allow selection of input and output devices in EngineDialog for backends that support it
Some refactoring was necessary to avoid code duplication

Restoring of device state for input and output devices still doesn't work
correctly. I'm not quite sure what the issue is at this stage.
2015-05-31 20:02:07 +02:00
15bf19961f When running on Windows, hide the Engine dialog before calling 'push_state_to_backend()'
For some reason we don't understand 'push_state_to_backend()' can interfere with hiding the dialog (causing a partially hidden dialog to remain on screen). It's most likely a timing issue with the Windows version of GTK. Fortunately, reversing the calling order seems to fix it - BUT...

If there's no session loaded yet, the user can be left with a very long wait while nothing seems to be happening. The next thing the user would normally see would be the splash image. So let's display it slightly early (so the user can at least see that something's happening).

Sadly, it's all very kludgy - but a lot better than what we had before...  :)
2015-04-14 11:22:14 +01:00
40e3a01459 and 2c89ec5, keep backend running. 2015-04-07 15:23:24 +02:00
2c89ec5c0b Query backend’s setup_required() every time. fixes #6041 2015-04-04 02:39:30 +02:00
28730b4939 fancy plural form. 2015-03-31 04:16:24 +02:00
87e95e4bf1 add colon to match other labels 2015-03-26 21:43:33 -05:00
675444c7dd Engine: remember state only on “Apply” and “OK”
filed under “another scary engine dialog change”
2015-03-22 01:28:33 +01:00
7b1c7efc1c work-around engine dialog crashes.
Thanks to brilliant detective work by John E. we
can now reveal that the actual crash in
EngineControl::print_channel_count() is caused
by a seemingly unrelated exception.

The root cause however is waves/ASIO backend reporting a
buffersize that is not in list of available buffer-sizes
it reported earlier.
2015-03-16 15:09:59 +01:00
23a6526de7 remove unneeded debug output 2015-03-07 17:10:19 -06:00
dd6ee69ef8 engine dialog, update device is changed. 2015-03-07 14:35:33 +01:00
82e23ecd2a fix device changes..
backend_changed() stopped the backend.
2015-03-07 14:35:32 +01:00
818ed5fe12 update Engine Dialog when devices are dis/connected. 2015-03-06 06:24:56 +01:00
411c3ee70a possible fix for #6187 - assert(backend) 2015-03-01 16:48:14 +01:00
fbdf6a8151 recover the most recent audio setup settings from config 2015-02-24 14:29:02 -06:00
af174c0519 when the user changes devices, notify the backend 2015-02-06 13:55:00 -06:00
031f68fb9d add a simple status indicator to the Engine Dialog 2015-01-25 10:19:46 +01:00
37b8412aa3 fix latency measurement result display
If measurement is fast (<100ms), the GUI timeout function
never displayed the measured value.
2015-01-25 10:18:33 +01:00
611073790b move control app button adjacent to sample rate and bufsize settings 2015-01-22 15:00:13 -06:00
dcaf8d89c1 remove channelcount selectors for mixbus 2015-01-22 14:54:56 -06:00
49047e4dc9 consistent display of period-size. 2015-01-17 22:42:20 +01:00
cc221ea3c3 display current buffer size - hopefully w/o breaking ASIO 2015-01-17 21:29:14 +01:00
d2cbb28f79 Engine Dialog: fix various signal connections
connect/disconnect button was connected multiple times
Also the button allowed to start a backend with
invalid settings (after changing backend).

Q: does “Connect to” make sense? It’s redundant with 
“Apply”.
2015-01-17 21:03:56 +01:00
f77c923bee engine dialog fix buffersize sensitivity 2015-01-17 21:03:56 +01:00
7d88dc3202 update engine dialog UI state
fixes crash when jack is started externally
and the dialog is displayed later.
The current state e.g. avail buffer sizes is not
are queried from the backend, Apply,OK -> crash
because the dropdown is empty)
2015-01-17 21:03:56 +01:00
14a235ca8a fix 05a612b 2015-01-17 01:26:29 +01:00
c3847269c2 fix crash when changing the Audio System
When the i/o channel spinbox widgets are realized, they call
print_channel_count(). A "0" is formatted as "all available channels".
This causes the GTK::Entry inside the spinbox to emit a "changed"
signal which in turn triggers a parameter_changed(), [..], store_state(),
which calls into the spinbox again while it is being realized,
which makes gtkmm barf.

Start Ardour with JACK running (autoconnect to jack), Window ->
Audio/Midi settings -> initial no_control_notebook. Change
Audio System -> [control widgets are realized] -> glibmm std::exception
2014-10-03 15:32:12 +02:00
5e61c8ab12 fix engine control widget sensitivity 2014-10-03 15:08:06 +02:00
1d790355ca Fix warning from ./waf i18n about empty string
./waf i18n warns about passing an empty string to _(). Actually, the code
in question just wants to make a label not appear, so it might as well
just hide or show it as appropriate rather than attempting to set its
text to the empty string.
2014-10-02 18:03:19 +01:00
8b4eb07ab7 Fix restore of Jack driver setting
A small hack to ensure that the driver setting in the audio engine dialog
is restored when ardour starts up and when switching drivers.
2014-09-13 15:27:30 +01:00
001e4ca684 Engine Dialog: focus OK button (press enter to cont w/previous settings) 2014-09-01 22:06:45 +02:00
63d81d2419 purge states of Audio-backends that are N/A
fixes crashes/assert() when using different builds while
sharing ardour.rc with n/a engine backends marked active.
2014-07-04 15:52:14 +02:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
1bd4e448de namespace libardour utils 2014-06-25 21:47:54 +02:00
371bf59a94 for backends w/o control, save a fake state with only the "active" attribute.
This makes ardour start directly with external jack without asking if jack
was previously used. It also retains jackd settings if jackd was previously
started by ardour.
2014-06-23 05:12:08 +02:00
3624d93001 fix latency-measurement dialog back-button. 2014-06-22 18:28:24 +02:00
edd9e730ef latency measurement dialog updates:
* distinguish errors: no ports and no engine.
* fix "No measurement results yet" message at successful end
* stop update callback
2014-06-19 19:44:15 +02:00
07759bbbf2 engine-dialog: properly restore previous active state 2014-06-19 19:44:15 +02:00
33ea2d25f1 hide "turn down volume" label for midi-latency measurement 2014-06-16 23:36:29 +02:00
fbe359e8c7 debug alsa midi latency measurement 2014-06-16 19:44:23 +02:00
f383f2b856 fix pango font style (prev commit) 2014-06-16 17:56:52 +02:00
5baa6ca5b4 no more red latency messages 2014-06-16 17:30:22 +02:00
80c7971f50 reset latency dialog every time. 2014-06-15 13:24:41 +02:00
61ab4f0fb0 be smart, use boost::shared_ptr 2014-06-15 13:24:41 +02:00
21ed2d6767 clear engine device combo when no devices are available 2014-06-15 13:24:40 +02:00
51b475467a if we don't have control over the device/backend, allow to proceed. 2014-06-14 16:26:14 +02:00
9268de566c fix initialization of audio-engine dialog 2014-06-14 16:01:46 +02:00
f312113163 enable ArdourButton focus in EngineDialog 2014-06-14 00:22:32 +02:00
f2404a522d Engine Dialog: Don't save duplicate states (and remove old dups) 2014-06-13 17:18:30 +02:00
2e88935bbf add GUI for midi-device settings (and properly indent the code) 2014-06-13 12:01:55 +02:00
34e2cf7913 fix 'use_latency_button' (broken in prev. commit) 2014-06-08 17:19:10 +02:00
eb289a76af basic Midi latency measurement GUI (re-use Audio latency notebook) 2014-06-08 14:48:10 +02:00
81182b5bf6 prepare MIDI latency measurement (backend) 2014-06-08 11:18:18 +02:00
ec49e351c3 fixes to change engines while Ardour is running.
When a new backend is selected, it is loaded to query
available devices etc. This effectively drops the current backend.
2014-06-04 17:17:14 +02:00
b517695256 allow latency measurement at startup 2014-06-02 19:21:15 +02:00
6dfb63bb46 tentative fix for requesting driver+device list from backend 2014-06-02 19:21:15 +02:00
58d6c39b3d fix sensitivity of engine dialog driver_combo. 2014-05-24 20:10:14 +02:00
079d6a2866 if using the audio/MIDI setup dialog because there are >1 backends, but the chosen backend is not under our control (i.e. JACK), remember to start it before returning from the dialog 2014-05-01 12:31:35 -04:00
509159c3c6 first pass hiding/rearrangement of UI elements related to trx 2014-04-10 13:30:25 -04:00
cd8778c789 change latency calibration button from "record enable button" to "generic button" 2014-02-28 17:00:25 -05:00
edfa855778 avoid GTK packing warning when using >1 backend 2014-01-02 09:00:58 -05:00
4c0a274b43 do not push new state to backend from audio/MIDI setup until OK or Apply are clicked (i.e. do not do this when device is changed) 2013-11-27 17:41:22 -05:00
f1a6735ca4 use new default SR + bufsize values in engine dialog 2013-10-21 11:40:46 -04:00
cb3abec966 fix typo from earlier change to conditionalize driver-change in audio backend 2013-10-15 22:05:10 -04:00
4404a38996 prevent button in latency measurement dialog from changing size when relabelled 2013-10-15 14:55:54 -04:00
6e0a3c4853 try to prevent crash if running latency calibration with JACK setup that is lacking input or output ports (re: #5721 and #5719) 2013-10-15 13:15:03 -04:00
df13a8c0b1 fix crash when opening audio/MIDI setup while playing etc. 2013-10-15 12:48:58 -04:00
fb1eefdd5e do not call AudioEngine::set_driver() when the backend does not require driver selection 2013-10-15 11:08:51 -04:00
a90858897e do not use delete_when_idle() to delete a plugin UI because an entirely separate mechanism exists for that 2013-10-12 16:44:50 -04:00
e0a3c3f4fa rework things for Audio/MIDI setup dialog a bit: no tabs being the most noticeable change 2013-10-12 14:57:32 -04:00
949a0d2934 minor adjustments to latency measurement UI stuff 2013-10-12 10:04:20 -04:00
a38c0efbe7 minor tweaks to audio/MIDI setup window 2013-10-10 21:07:17 -04:00
b194c1ad88 more fixes and rationalizations for MIDI option handling in the audio MIDI setup 2013-10-10 16:18:27 -04:00
645e9caeee basic use of new backend MIDI options 2013-10-10 12:59:33 -04:00
c4b20f1a20 nicely handle the (should-never-happen) case of no audio/MIDI backends being detected 2013-10-10 11:24:16 -04:00
2230dc92cd remove debug output 2013-10-07 20:30:28 -04:00
cff174b541 move rate_as_string() from EngineControl to utils.cc 2013-09-23 21:35:17 -04:00
b362ff220c major rearrangement of startup/session loading code
first-time user code remains in ArdourStartup
session selection/setup moved to SessionDialog
many other cleanups, logic improvements, and so forth to the overall session loading process.
Not 100% finished yet.
2013-09-23 14:41:52 -04:00
d2ca0665bf reallow changing bufsize AND sample rate when we are in control, because this is cool 2013-09-19 16:48:05 -04:00
3f56abe099 missing initialization 2013-09-19 16:17:47 -04:00
57d24608e7 show a different audio/MIDI option screen if JACK is already running. try to fix problem with using AudioBackend::<property-value>() functions before anything has been set. 2013-09-19 15:03:20 -04:00
402d92889a minor code changes 2013-09-17 21:22:22 -04:00
f51537b71d substantive changes to allow the audio/MIDI setup dialog to change settings as intended
So far only tested with JACK backend, but expected to be more correct for other backends too
2013-09-17 21:09:13 -04:00
7381390565 add basic display of existing MIDI ports to audio/MIDI setup 2013-09-17 10:01:24 -04:00
c8b32e2f8b minor fixups for audio/MIDI setup spin buttons (now editable, as they should be) 2013-09-16 22:03:59 -04:00
cb31e34a5c end latency detection if AMS window closed while running detection (plus some non-functioning changes to try to get spinbutton text entry to work 2013-09-16 18:47:30 -04:00
2a3dfb5e82 various bits of polish for the latency tab of audio/midi setup dialog 2013-09-16 15:21:32 -04:00
ed61a9ebbd update buffer size duration (msecs) while displaying saved audio/MIDI setup state 2013-09-16 11:10:05 -04:00
4d503c2053 commit some logic problems with the EngineDialog when change the driver/device name combos 2013-09-16 10:18:25 -04:00
7c88670680 lots of changes to auto-start (and stop) the backend for latency measurements, and continuing work on the session construction/engine configuration flow 2013-09-12 16:28:51 -04:00
6b3907d57f change names, add comment, improve return type to avoid extra call to get EngineControl::State* 2013-09-12 12:26:59 -04:00
91e2eab01a make use of measured latency values to set dialog controls, and use actual port latency to compute extra delay 2013-09-11 13:02:32 -04:00
bede012727 remove unused members and code from EngineControl dialog (related to different devices for input+output) 2013-09-11 12:05:51 -04:00
d305dc1e0c more tweaks to latency measurement
don't open ports till absolutely necessary (store names for future use).

tidy up parts of the dialog (tab)
2013-09-10 23:25:15 -04:00
676ff80697 basic functionality for hardware latency measurement 2013-09-10 22:58:33 -04:00
209e4bdcae many changes relating to session construction and audioengine interaction
every session member is now initialized using C++ constructor syntax

session construction reordered to clarify the split(s) between work
where the engine is not relevant and work where is it is. this
split is still not 100% obvious, but is enormously clearer than
previously.

if engine/backend are not running as session is created, and the SR
of the sample rate is known, attempt to force backend to that value.
2013-09-10 15:41:19 -04:00
2a89234027 move control app launching back into audio backend to allow ASIO/CoreAudio model to work; push initial state of AMS dialog to backend
Issues remain with the basic model of the AMS dialog - when is
newly chosen state pushed into the backend (which can then
modify the control app button sensitivity. This is a special
problem for this button because APIs like ASIO and CoreAudio
probably don't allow us to launch a control app for an arbitrary
device, but only one actually in use. In this sense it is
different from properties like available buffer size etc, where
we can typically query without actually using the device.
2013-09-09 21:23:12 -04:00
29c9d94dbe fix control app breakage 2013-09-09 18:06:44 -04:00
3633892eaa fix crash when unconditionally using null env var; tweak packing of control app button 2013-09-09 17:10:58 -04:00
ecfeeda4b8 launching control app is now responsibility of ardour GUI, not audio backend; use ARDOUR_DEVICE_CONTROL_APP if set in the environment 2013-09-09 16:48:27 -04:00
f06187735d initial work on adding access to h/w control apps when ardour starts JACK 2013-09-09 15:17:43 -04:00
56465fda10 move engine dialog from a widget to an actual dialog; emit Session::AudioEngineSetupRequired when loading a session if it is necessary 2013-09-09 15:17:42 -04:00
e435f22793 add input/output channel counts and reorganize table somewhat 2013-09-06 21:00:01 -04:00
0467231d6e save/restore I/O latency values in audio/midi setup 2013-09-06 16:43:02 -04:00
bc1cc154dc always save/keep audio/MIDI setup states so that they are available for use *after* instances where JACK was already running 2013-09-05 14:21:25 -04:00
fee626c386 shorten tab labels on audio/midi setup notebook 2013-09-05 13:21:13 -04:00
5a3cf3363b save and restore the selected engine state at startup 2013-09-04 22:58:56 -04:00
0cc4ee7b79 fix up restoration of saved state from disk, still incomplete 2013-09-04 22:22:18 -04:00
418f2ff20a save and restore audio/MIDI setup states to disk (in ardour.rc)
Not finished because the buffer size value will not always stick during restore
2013-09-04 19:34:43 -04:00
58dd0198e6 save and restore settings for different backend/driver/device combinations
So far, this is only internal - never saved to disk
2013-09-04 15:45:54 -04:00
35cc3245db rename interface_ stuff in the engine dialog to device_, since that feels a bit clearer terminology 2013-09-04 12:37:44 -04:00
f44e0f33af a few more visual tweaks and simplifications for audio/midi setup 2013-08-09 00:50:41 -04:00
743bb5066e some rearrangements and details for the engine dialog 2013-08-08 23:31:35 -04:00
616f2a0370 fix conflicts after merge with master 2013-08-05 14:22:32 -04:00
a5f69910e4 add notion of unavailable devices to ARDOUR::AudioBackend 2013-08-05 13:19:23 -04:00
a66e3859e1 can now start JACK based on config dialog 2013-08-05 12:51:51 -04:00
7218bd91de start work on the changes to EngineControl (dialog) to integrate with new backend design, and add "requires-driver" concept to AudioBackend to handle JACK specifically 2013-08-04 14:03:19 -04:00
c2e7c32c53 add tim's jack_utils code to rationalize setup of JACK config 2013-08-03 16:37:10 -04:00
1c4d00e8b7 audioengine branch can now load and run at least one test session.
currently hard-coded to deal only with the situation where JACK is already running
2013-08-03 11:57:56 -04:00
Michael Fisher
20189330d1 Add relavent OSX midi options in the startup dialog
- MIDI driver options are now "None" and "coremidi" on OSX
- If coremidi is selected, jack will start with midi activated
- Requires Jack OSX version 0.90 beta 15 (or another version that
  supports midi
2013-07-29 20:05:10 +02:00
241a9edd3e replace final(?) incidences of program name (ardour, Ardour) with PROGRAM_NAME (thanks to edgar for tracking them all down)
git-svn-id: svn://localhost/ardour2/branches/3.0@14050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-02-05 18:18:35 +00:00
81153dd394 Fix case of strings in comparisions in engine_dialog.cc
git-svn-id: svn://localhost/ardour2/branches/3.0@13800 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-07 19:17:07 +00:00
e2711af723 more fixups regarding FreeBSD support
git-svn-id: svn://localhost/ardour2/branches/3.0@13776 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 18:33:10 +00:00
bb3690db58 merge Marcel Bonnet's patches for Free-BSD
(may need further cleanup:
 compare with timbyr's windows patch,
 verify fst/vsti + ALSA)

git-svn-id: svn://localhost/ardour2/branches/3.0@13774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 17:36:52 +00:00
12bd87b6cc Fix typos in use of __APPLE__ macro
git-svn-id: svn://localhost/ardour2/branches/3.0@13771 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 16:49:09 +00:00
98834c0532 remove a bunch of cerr output and/or convert to use error<<
git-svn-id: svn://localhost/ardour2/branches/3.0@13477 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 15:11:07 +00:00
44e88a2d54 notably modify the design and logic of the startup dialog, so that we can handle the requirements in the 3.0-SG branch reasonably. the two major changes concern the idea that we may need to run the audio setup tab at all times, and that the startup dialog could potentially be "ready" without actually needing to be displayed on-screen. this allows us to ALWAYS use a startup dialog, even if we don't actually need any information from the user. as usual with this kind of change, expect a few logic/workflow glitches
git-svn-id: svn://localhost/ardour2/branches/3.0@13397 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-08 15:54:16 +00:00
70e8933151 handle failure to start audioengine correctly
git-svn-id: svn://localhost/ardour2/branches/3.0@13033 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11 19:36:01 +00:00
Carl Hetherington
c7ebac12b1 Don't specify real-time priority when starting JACK (#4946).
git-svn-id: svn://localhost/ardour2/branches/3.0@12924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 14:41:03 +00:00
Carl Hetherington
eaf58fdd50 Marginal cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@12565 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-05 01:03:36 +00:00
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
Carl Hetherington
9e67e1f1f0 Fix possible deref of 0 pointer (#4815).
git-svn-id: svn://localhost/ardour2/branches/3.0@11793 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 01:22:51 +00:00
da13032eda fixes for 64 bit OS X build (c/o david robillard); tested on Lion & Tiger
git-svn-id: svn://localhost/ardour2/branches/3.0@11585 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-02 22:53:00 +00:00
3db29c3a8c minor tweaks for engine dialog (remove channel counts, tweak sensitivity)
git-svn-id: svn://localhost/ardour2/branches/3.0@11281 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 15:35:24 +00:00
a4578d02b0 heuristic to workaround over-eager translation of NN000Hz as NN kHz
git-svn-id: svn://localhost/ardour2/branches/3.0@11279 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 15:08:44 +00:00
Carl Hetherington
39442ef386 Separate visual and audio interfaces for translation.
git-svn-id: svn://localhost/ardour2/branches/3.0@10765 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 12:04:21 +00:00
74330533b8 remove needless message from log window when a system has no ALSA-capable devices
git-svn-id: svn://localhost/ardour2/branches/3.0@10032 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-30 13:41:36 +00:00
Carl Hetherington
cd17e05e3a Fix some set-but-not-used variable warnings from gcc 4.6
git-svn-id: svn://localhost/ardour2/branches/3.0@9783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-02 17:16:46 +00:00
ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
603d07a80b forward port EPA changes from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@8473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-07 16:25:57 +00:00
8e228bf344 lincoln's patch to fix audio setup dialog/jack startup when used with FFADO (#3485)
git-svn-id: svn://localhost/ardour2/branches/3.0@7964 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-04 18:07:58 +00:00
Carl Hetherington
157895dc3b Provide both FreeBoB and FFADO options in the engine dialogue. Fixes #3457.
git-svn-id: svn://localhost/ardour2/branches/3.0@7799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-18 20:01:54 +00:00
4400489f15 patch from Johan Mattson to make -I/-O options in engine dialog actually work (fixes #2975
git-svn-id: svn://localhost/ardour2/branches/3.0@7795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 20:43:38 +00:00
da8eec7a83 remove Glib::ustring from gtk2_ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@7774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14 16:51:02 +00:00
Carl Hetherington
ecb5201332 Save and restore MIDI driver option state, and tidy up a couple of things. Fixes #3349.
git-svn-id: svn://localhost/ardour2/branches/3.0@7497 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-26 01:54:51 +00:00
Carl Hetherington
6a61c1d3ff HIG-ify engine dialogue and add midi driver option. Fixes #3349.
git-svn-id: svn://localhost/ardour2/branches/3.0@7479 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-23 23:29:19 +00:00
fde289fe36 use -r argument with JACK if realtime is not requested in engine dialog (also applied to 2.X)
git-svn-id: svn://localhost/ardour2/branches/3.0@7476 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-23 01:04:47 +00:00
Carl Hetherington
9a6042dbc8 Speculative tweak to offer non-duplex as well as full-duplex ALSA cards in the engine dialogue. Should fix #3327.
git-svn-id: svn://localhost/ardour2/branches/3.0@7447 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-20 00:57:43 +00:00
Sakari Bergen
6ae418e5f5 Fix ordering issue with loading engine settings to the startup dialog
git-svn-id: svn://localhost/ardour2/branches/3.0@6850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 22:58:05 +00:00
6ef5d85ae1 changes from 2.X starting in march 2009 through oct 20 2009 (5826 inclusive)
git-svn-id: svn://localhost/ardour2/branches/3.0@6761 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-16 15:33:04 +00:00
44f4b84551 finalize PROGRAM_NAME change for ardour3
git-svn-id: svn://localhost/ardour2/branches/3.0@6759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-15 02:31:27 +00:00
64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
e98b3c1ec6 make 3.0 catch up with transport and other changes in 2.X (hand applied, not merged)
git-svn-id: svn://localhost/ardour2/branches/3.0@5989 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30 18:14:25 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
b893b9a2be three recent fixes from 2.0-ongoing (RT on by default, Mackie port name nonsense; processor box no-redisplay flag reset on set_route()
git-svn-id: svn://localhost/ardour2/branches/3.0@5762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-08 21:56:16 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
0513474072 farewell NSD, we loved you sometimes, almost never
git-svn-id: svn://localhost/ardour2/branches/3.0@4992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-20 18:41:46 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
b12bedfe8a initialize jack timeout parameter correctly (not doing this breaks JackOSX, maybe JACK too)
git-svn-id: svn://localhost/ardour2/branches/3.0@4077 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-01 12:26:53 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
8aa9508c82 Merge with 2.0-ongoing R3071.
git-svn-id: svn://localhost/ardour2/branches/3.0@3073 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-16 22:43:18 +00:00
80c3677c83 Merge with 2.0-ongoing R2988
git-svn-id: svn://localhost/ardour2/branches/3.0@2991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-02 17:22:04 +00:00
9f63ab9931 Merge with trunk R2978.
git-svn-id: svn://localhost/ardour2/branches/3.0@2988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-02 03:57:35 +00:00
ac1a255706 Merge with trunk R2920.
git-svn-id: svn://localhost/ardour2/trunk@2921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-15 17:23:57 +00:00
e92c1669c1 Merge with 2.0-ongoing R2885.
Fix loading of 2.0 sessions.


git-svn-id: svn://localhost/ardour2/trunk@2904 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-12 23:45:50 +00:00
8a2e30816e Merge with 2.0-ongoing R2883.
git-svn-id: svn://localhost/ardour2/trunk@2885 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-10 22:22:29 +00:00