Robin Gareus [Fri, 13 Mar 2015 12:31:48 +0000 (13:31 +0100)]
only jack+windows use portaudio.
fixes missing lib if portaudio-backend is used on on non-windows
platforms (pkg-config defines HAVE_PORTAUDIO)
Robin Gareus [Fri, 13 Mar 2015 03:05:53 +0000 (04:05 +0100)]
call me Mr. Backend
simple blocking (no callback) PortAudio Backend
Paul Davis [Thu, 12 Mar 2015 22:45:31 +0000 (17:45 -0500)]
check for old configuration files and copy if user requests it.
A restart is required. There is a circular dependency between the config files and the GUI, and this restart breaks it
Paul Davis [Thu, 12 Mar 2015 22:44:50 +0000 (17:44 -0500)]
alter config file copying infrastructure so it can be used at a suitable time in the instance's lifetime
Robin Gareus [Thu, 12 Mar 2015 19:30:46 +0000 (20:30 +0100)]
always show language dialog on windows
Robin Gareus [Thu, 12 Mar 2015 17:02:20 +0000 (18:02 +0100)]
NOOP whitespace fixes.
nick_m [Thu, 12 Mar 2015 17:01:55 +0000 (04:01 +1100)]
Don't mess with the track selection at all from the editor route list
when adding tracks (thinko in last commit).
Robin Gareus [Thu, 12 Mar 2015 16:56:06 +0000 (17:56 +0100)]
fix
0096aa5 (at least for mingw)
nick_m [Thu, 12 Mar 2015 15:47:16 +0000 (02:47 +1100)]
Add new routes to selection in the editor, rather than the editor
route list.
Fixes new tracks not being selected.
Also begin selection op history when adding routes.
Robin Gareus [Thu, 12 Mar 2015 15:09:55 +0000 (16:09 +0100)]
amend
7bb9d04, fix midi looping
Robin Gareus [Thu, 12 Mar 2015 14:56:26 +0000 (15:56 +0100)]
indicate MIDI port names (vs audio system ports)
Paul Davis [Thu, 12 Mar 2015 15:06:02 +0000 (10:06 -0500)]
add seek info to readtest
Paul Davis [Thu, 12 Mar 2015 13:46:38 +0000 (08:46 -0500)]
try to clean MSVC/Windows mess in main(), hopefully without breaking anything
Robin Gareus [Thu, 12 Mar 2015 14:21:31 +0000 (15:21 +0100)]
cont’d work on
a16dd7c, fixes #6170
Robin Gareus [Thu, 12 Mar 2015 13:16:55 +0000 (14:16 +0100)]
explain midi starvation, issue #6170
this is not a fix yet, just some comments and
code cleanup done while reading/investigating:
* limit reads to available write-space
* skip inactive tracks
* handle potential unsigned + negative value.
Tim Mayberry [Thu, 12 Mar 2015 12:34:54 +0000 (22:34 +1000)]
Revert commit
635578b3 relating to pthread debugging
This breaks the build for windows builds that don't use the pthreads_win32
library. Using the opaque pthread_t type like this is probably not a great
idea. Using PBD::pthread_name is another option that I've used elsewhere
that seems more useful.
Tim Mayberry [Thu, 12 Mar 2015 12:15:41 +0000 (22:15 +1000)]
Define DEBUG_THREAD_SELF when debug is enabled
Tim Mayberry [Thu, 12 Mar 2015 11:56:00 +0000 (21:56 +1000)]
Use DEBUG_THREAD_SELF macro in session_vst.cc
Tim Mayberry [Thu, 19 Feb 2015 10:33:46 +0000 (20:33 +1000)]
Don't try linking libclearlooks files with mingw build
I believe this is unnecessary for cross and native builds
Tim Mayberry [Wed, 18 Feb 2015 03:09:57 +0000 (13:09 +1000)]
Include windows.h in Dummy backend for LARGE_INTEGER
This is necessary for a native build using MSYS2 and mingw-w64
Tim Mayberry [Wed, 18 Feb 2015 03:07:27 +0000 (13:07 +1000)]
Include windows.h on windows build for LARGE_INTEGER
This is necessary for a native build using MSYS2 with mingw-w64
Robin Gareus [Thu, 12 Mar 2015 12:19:26 +0000 (13:19 +0100)]
OSX use xjadeo directly (no IPC indirection)
Robin Gareus [Thu, 12 Mar 2015 12:15:12 +0000 (13:15 +0100)]
pimp readtest.
Robin Gareus [Thu, 12 Mar 2015 11:26:23 +0000 (12:26 +0100)]
further ardourbutton ellipsis fixes
Robin Gareus [Thu, 12 Mar 2015 02:52:10 +0000 (03:52 +0100)]
have another go at windows i18n
Robin Gareus [Thu, 12 Mar 2015 02:24:09 +0000 (03:24 +0100)]
Robin Gareus [Thu, 12 Mar 2015 01:36:33 +0000 (02:36 +0100)]
fix ‘ export’ installdir typo
Robin Gareus [Thu, 12 Mar 2015 01:36:01 +0000 (02:36 +0100)]
prepare windows i18n
Ben Loftis [Wed, 11 Mar 2015 20:33:03 +0000 (15:33 -0500)]
more verbose captions on automation track headers; include the plug name.
Robin Gareus [Wed, 11 Mar 2015 20:18:17 +0000 (21:18 +0100)]
add video-monitor to timeline context-menu
Paul Davis [Wed, 11 Mar 2015 19:28:22 +0000 (14:28 -0500)]
finish (?) infrastructure for copying configuration files from a3 to a4
Robin Gareus [Wed, 11 Mar 2015 18:46:22 +0000 (19:46 +0100)]
NOOP, add a missing ‘p’
Robin Gareus [Wed, 11 Mar 2015 18:45:02 +0000 (19:45 +0100)]
renice connection button labels
* pango ellipsize text
* use pretty-names if available
Robin Gareus [Wed, 11 Mar 2015 17:18:37 +0000 (18:18 +0100)]
interpret CoreMidi unique ID as unsigned for consistency.
coremidi specifies it as SInt32 but system:midi_playback_-
126632214 ,
even if only used internally, just does not seem right.
Paul Davis [Wed, 11 Mar 2015 18:24:40 +0000 (13:24 -0500)]
more infrastructure for copying old configuration files
Paul Davis [Wed, 11 Mar 2015 18:24:11 +0000 (13:24 -0500)]
efficiency is overrated - don't cache the return value of user_config_directory_name() since it can be called with different arguments
Paul Davis [Wed, 11 Mar 2015 17:12:50 +0000 (12:12 -0500)]
global ARDOUR signal to ask GUI to copy configuration files across versions
Paul Davis [Wed, 11 Mar 2015 17:12:08 +0000 (12:12 -0500)]
only create user configuration directory if no explicit version was given
nick_m [Wed, 11 Mar 2015 17:06:20 +0000 (04:06 +1100)]
Metadata windows are no longer transient windows.
Comment out input and output IOSelectorWindows being set to KEEP_ABOVE
in the route ui (just in case there is a good reason for it).
nick_m [Wed, 11 Mar 2015 16:46:11 +0000 (03:46 +1100)]
Add route dialog is never a transient window.
Fixes a hack where it's transient parent was used to give an order hint
(for the order key of any new tracks).
This commit adds a new combobox "insert_at" to let the user tell us
where they want new tracks to go.
Paul Davis [Wed, 11 Mar 2015 15:30:42 +0000 (10:30 -0500)]
hide user_config_dir_name; alter API for user_config_dir() to allow specification of a version number
Robin Gareus [Wed, 11 Mar 2015 13:58:02 +0000 (14:58 +0100)]
mingw: all code is position independent
Robin Gareus [Wed, 11 Mar 2015 11:29:45 +0000 (12:29 +0100)]
NOOP, midi-auditioner clean API usage
Robin Gareus [Wed, 11 Mar 2015 11:28:47 +0000 (12:28 +0100)]
remove duplicate code
set_header_timeline_position() does exactly that. Also doing it
twice may have lead to a NULL-pointer dereference.
Robin Gareus [Wed, 11 Mar 2015 11:23:05 +0000 (12:23 +0100)]
reasonably sized CoreMidi Buffers
nick_m [Tue, 10 Mar 2015 23:50:35 +0000 (10:50 +1100)]
Fix windows compilation for merged waveview branch.
Robin Gareus [Tue, 10 Mar 2015 23:27:14 +0000 (00:27 +0100)]
coreaudio backend: switch threads early
Robin Gareus [Tue, 10 Mar 2015 23:25:10 +0000 (00:25 +0100)]
fix “no per-thread pool” abort
For some backends the process thread can change (e.g.
switch coreaudio headphone + internal speakers)
If there are existing x-thread event calls this can lead to
the following situation:
1) SessionEvent::operator new
2) audioengine process thread change
3) SessionEvent::operator delete -> crash, wrong thread
SessionEvent::operator delete can safely push the event back to
the pool for later cleanup..
Robin Gareus [Tue, 10 Mar 2015 21:12:35 +0000 (22:12 +0100)]
NOOP, re-indent.
Robin Gareus [Tue, 10 Mar 2015 21:06:28 +0000 (22:06 +0100)]
yet unheard of edge-case.
Robin Gareus [Tue, 10 Mar 2015 21:05:47 +0000 (22:05 +0100)]
audio interpolation is really private
Robin Gareus [Tue, 10 Mar 2015 21:05:21 +0000 (22:05 +0100)]
MIDI vari-speed playback
Robin Gareus [Tue, 10 Mar 2015 18:33:05 +0000 (19:33 +0100)]
prototype basic midi varispeed
Ben Loftis [Tue, 10 Mar 2015 20:54:54 +0000 (15:54 -0500)]
Groups created from the (edit,mix) windows should share the same default properties.
In the past, we chose different defaults in homage to ardour's old mix/edit groups.
But that wasn't a very good idea.
For now they have all properties enabled and the user can disable them as-needed.
It might also be nice to make the user's property selections perist for new groups.
nick_m [Tue, 10 Mar 2015 14:57:16 +0000 (01:57 +1100)]
Fix compilation for osx.
nick_m [Tue, 10 Mar 2015 13:40:02 +0000 (00:40 +1100)]
Manual merge of the backend (peakfile reading) part of waveview branch.
Summary:
* use mmap() for the whole peakfile instead of lots of small seek/reads
* cache the computed peaks
* where possible, open files with O_NOATIME.
Robin Gareus [Tue, 10 Mar 2015 13:28:17 +0000 (14:28 +0100)]
fix OSX/Clang optimized builds
not quite sure how -fomit-frame-pointer can make a difference with 64bit
builds, but it does crash on start in
gdk_window_new -> .. -> [NSColor _controlColor] -> GetThemeImage
-> _NSAppKitThemeLock with no other threads involved.
full backtrace: http://pastebin.com/FxsCMzSY
nick_m [Tue, 10 Mar 2015 12:35:53 +0000 (23:35 +1100)]
Manual merge of the drawing component of waveview branch.
In summary:
* no antialiasing of waveviews
* no diagonal lines
* simplify clip detection
* don't use LINE_CAP_ROUND for outline
* use the wave colour when drawing outline only
Robin Gareus [Tue, 10 Mar 2015 10:34:37 +0000 (11:34 +0100)]
windows package: pick up major version
Robin Gareus [Tue, 10 Mar 2015 10:00:53 +0000 (11:00 +0100)]
increase shuttle speed display granularity.
Robin Gareus [Tue, 10 Mar 2015 09:52:44 +0000 (10:52 +0100)]
dramatically reduce ShuttleControl CPU usage
Robin Gareus [Tue, 10 Mar 2015 09:46:24 +0000 (10:46 +0100)]
throttle TransportStateChange signal emissions
Robin Gareus [Tue, 10 Mar 2015 02:49:00 +0000 (03:49 +0100)]
clean up and refine shuttle control rendering.
Robin Gareus [Tue, 10 Mar 2015 01:48:14 +0000 (02:48 +0100)]
circles and circles and circles, again my friend
escape the cairo vicious circle, fixes varispeed playback
& major CPU hog on OSX.
Robin Gareus [Tue, 10 Mar 2015 00:41:52 +0000 (01:41 +0100)]
tweak OS X packaging for 10.9
Robin Gareus [Mon, 9 Mar 2015 23:21:37 +0000 (00:21 +0100)]
disk-space calc is windows (not MSVC) specific.
Robin Gareus [Mon, 9 Mar 2015 23:09:01 +0000 (00:09 +0100)]
10ms = 1e7 nsec
Robin Gareus [Mon, 9 Mar 2015 22:28:18 +0000 (23:28 +0100)]
rework/optimize CoreMidi
Robin Gareus [Mon, 9 Mar 2015 18:01:24 +0000 (19:01 +0100)]
NOOP, add header-guards and namespace to CA backend
Paul Davis [Mon, 9 Mar 2015 18:50:49 +0000 (13:50 -0500)]
more work to remove hard coding of major version number for linux packaging
Paul Davis [Mon, 9 Mar 2015 18:50:17 +0000 (13:50 -0500)]
more work to remove hard coding of major version number for linux packaging
John Emmas [Mon, 9 Mar 2015 18:29:26 +0000 (18:29 +0000)]
Move 'poor_mans_glob()' into libpbd
Paul Davis [Mon, 9 Mar 2015 17:41:46 +0000 (12:41 -0500)]
attempt to remove major version hard-coding from linux packaging tools
Robin Gareus [Mon, 9 Mar 2015 17:31:25 +0000 (18:31 +0100)]
Revert "explicitly shutdown engine at exit"
This reverts commit
c12b7bc9d85ad9b72e152a27625bdd4cc5486af0.
ARDOUR_UI::finish() already does this.
nick_m [Mon, 9 Mar 2015 16:58:00 +0000 (03:58 +1100)]
Tearoff windows are utility windows rather than toolbars.
Robin Gareus [Mon, 9 Mar 2015 16:02:05 +0000 (17:02 +0100)]
ALSA: fix thinko in sample time calc.
Robin Gareus [Mon, 9 Mar 2015 15:59:59 +0000 (16:59 +0100)]
implement samples_since cycle start.
John Emmas [Mon, 9 Mar 2015 15:54:59 +0000 (15:54 +0000)]
Fix a couple of issues when displaying the 'Preferences' dialog on Windows:-
1) When changing the 'Default folder for new sessions' we weren't responding to the appropriate signal (so the change wasn't getting saved in our user's 'config' file). We now respond to the 'selection-changed' signal.
2) If the above path happened to contain a tilde character we weren't interpreting it to mean the user's home folder. I've copied across a function called 'poor_mans_glob()' which Ardour uses elsewhere for dealing with this situation in other file dialogs.
Once we confirm that issue #2 is now working for all platforms, I'd suggest moving 'poor_mans_glob()' into libpbd. At the moment we have at least 3 definitions of it (all identical) scattered around in various places.
nick_m [Mon, 9 Mar 2015 15:27:40 +0000 (02:27 +1100)]
Add route dialog responds to enter key being pressed.
nick_m [Mon, 9 Mar 2015 15:25:25 +0000 (02:25 +1100)]
Introduce theme preference "transients follow front" which, when enabled,
sets transient windows to be transients for the front window when switching
between the editor and mixer. This is the current behavior on non-osx
builds.
When disabled, there is no reparenting of transient windows. This is the
current behavior on osx.
This preference defaults to off.
Also fix "all windows are dialogs" checkbox being out of sync with the ui
state.
John Emmas [Mon, 9 Mar 2015 11:43:05 +0000 (11:43 +0000)]
Define NO_JACK_METADATA when building the jack backend with MSVC
Jack (on Windows) doesn't seem to have a header file called 'metadata.h' - so hopefully, this'll be correct?
Robin Gareus [Mon, 9 Mar 2015 04:59:46 +0000 (05:59 +0100)]
Robin Gareus [Mon, 9 Mar 2015 04:41:36 +0000 (05:41 +0100)]
some backends can handle incorrectly ordered midi events.
(that can happen if multiple sources send to the same
ouput port, in particular async midi events)
Robin Gareus [Mon, 9 Mar 2015 01:27:36 +0000 (02:27 +0100)]
fix ‘pure virtual’ crash at exit.
Finally tracked down.
AudioEngine::instance()->Halted.connect_same_thread() .. call_slot().
Since the calling thread has (eg JACK) has no event loop: crash
__cxa_pure_virtual + 18
PBD::EventLoop::invalidate_request(void*) + 61 (event_loop.cc:71)
sigc::trackable::notify_callbacks() + 63
BaseUI::~BaseUI() + 173 (base_ui.cc:64)
AbstractUI<Gtkmm2ext::UIRequest>::~AbstractUI() + 137 (abstract_ui.h:59)
Gtkmm2ext::UI::~UI() + 279 (gtk_ui.cc:131)
ARDOUR_UI::~ARDOUR_UI() + 3556
ARDOUR_UI::~ARDOUR_UI() + 21
ARDOUR_UI::~ARDOUR_UI() + 25
main + 2396
at event_loop.cc:71
Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
print *ir->event_loop
(PBD::EventLoop) $1 = {}
see http://pastebin.com/zvWJbqwf for a call_slot call on OSX/Coreaudio.
Robin Gareus [Mon, 9 Mar 2015 00:41:34 +0000 (01:41 +0100)]
explicitly shutdown engine at exit
Callbacks like EngineHalted or DeviceListChanged
can be deadly while the UI is being torn down.
Robin Gareus [Sun, 8 Mar 2015 23:26:01 +0000 (00:26 +0100)]
allow hotplugging CoreMidi devices.
Robin Gareus [Sun, 8 Mar 2015 23:09:42 +0000 (00:09 +0100)]
there’s no jack_creator_thread on windows
Robin Gareus [Sun, 8 Mar 2015 22:21:36 +0000 (23:21 +0100)]
update default windows config
(jack on windows does not ship metadata.h)
Robin Gareus [Sun, 8 Mar 2015 21:40:27 +0000 (22:40 +0100)]
keep port bundles in sync with engine
Robin Gareus [Sun, 8 Mar 2015 21:40:00 +0000 (22:40 +0100)]
Bundle API user update 2/2
cherry-pickable follow up to
0582221
Robin Gareus [Sun, 8 Mar 2015 21:39:34 +0000 (22:39 +0100)]
Bundle API user update
cherry-pickable follow up to
0582221
Robin Gareus [Sun, 8 Mar 2015 21:38:55 +0000 (22:38 +0100)]
consolidate BundleAdded/Remove signal
The only user (matrix) does not care which bundles are added/removed.
This simplification will make it a lot easier to keep bundles
in sync with actual hardware ports.
Robin Gareus [Sun, 8 Mar 2015 20:31:08 +0000 (21:31 +0100)]
add a no-jack-metadata option for poor 12.04 souls
(jack does have metadata support but ubuntu packaged
a version with a wrong header)
Robin Gareus [Sun, 8 Mar 2015 19:18:50 +0000 (20:18 +0100)]
allow to drag gain-envelope points
Robin Gareus [Sun, 8 Mar 2015 17:58:30 +0000 (18:58 +0100)]
fix typo, list output bundles properly.
Robin Gareus [Sun, 8 Mar 2015 17:39:19 +0000 (18:39 +0100)]
nicely named session bundles
Robin Gareus [Sun, 8 Mar 2015 16:27:48 +0000 (17:27 +0100)]
use pretty names in port-matrix
maybe this should be an option? So far it’s
the matrix only.. gotta start somewhere.
PS. No, this is not a new feature. Ardour not doing this
is a major bug that severely reduces usability:
system:midi_capture_47 WTF? ;-)
Robin Gareus [Sun, 8 Mar 2015 17:11:38 +0000 (18:11 +0100)]
coremidi separate ID and Name, use fixed IDs.
Robin Gareus [Sun, 8 Mar 2015 18:00:29 +0000 (19:00 +0100)]
add backend support for port properties (CoreAudio)
Robin Gareus [Sun, 8 Mar 2015 16:26:46 +0000 (17:26 +0100)]
add backend support for port properties (jack)