Commit graph

15868 commits

Author SHA1 Message Date
Paul Davis
89a3c78175 finish (?) infrastructure for copying configuration files from a3 to a4 2015-03-11 14:28:30 -05:00
Robin Gareus
69dc9451a7 NOOP, add a missing ‘p’ 2015-03-11 20:06:41 +01:00
Robin Gareus
0272c4f749 renice connection button labels
* pango ellipsize text
* use pretty-names if available
2015-03-11 20:06:41 +01:00
Robin Gareus
087b5dc43b 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.
2015-03-11 20:06:41 +01:00
Paul Davis
8587855b99 more infrastructure for copying old configuration files 2015-03-11 13:24:47 -05:00
Paul Davis
59880b7fa3 efficiency is overrated - don't cache the return value of user_config_directory_name() since it can be called with different arguments 2015-03-11 13:24:47 -05:00
Paul Davis
f9ce27fd65 global ARDOUR signal to ask GUI to copy configuration files across versions 2015-03-11 13:24:47 -05:00
Paul Davis
d563b1173b only create user configuration directory if no explicit version was given 2015-03-11 13:24:47 -05:00
nick_m
c9d10158f6 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).
2015-03-12 04:06:20 +11:00
nick_m
73d2d44652 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.
2015-03-12 03:46:11 +11:00
Paul Davis
1644fc1068 hide user_config_dir_name; alter API for user_config_dir() to allow specification of a version number 2015-03-11 10:39:15 -05:00
Robin Gareus
99260742d2 mingw: all code is position independent 2015-03-11 14:58:02 +01:00
Robin Gareus
77821ba373 NOOP, midi-auditioner clean API usage 2015-03-11 12:29:45 +01:00
Robin Gareus
ac23461ed9 remove duplicate code
set_header_timeline_position() does exactly that. Also doing it
twice may have lead to a NULL-pointer dereference.
2015-03-11 12:28:47 +01:00
Robin Gareus
6d2189f9e3 reasonably sized CoreMidi Buffers 2015-03-11 12:23:05 +01:00
nick_m
a1ac941a00 Fix windows compilation for merged waveview branch. 2015-03-11 10:50:35 +11:00
Robin Gareus
c3d7654884 coreaudio backend: switch threads early 2015-03-11 00:27:14 +01:00
Robin Gareus
fe85575a12 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..
2015-03-11 00:25:10 +01:00
Robin Gareus
1a5a48436a NOOP, re-indent. 2015-03-10 22:15:44 +01:00
Robin Gareus
9b2898c533 yet unheard of edge-case. 2015-03-10 22:15:44 +01:00
Robin Gareus
68146a0969 audio interpolation is really private 2015-03-10 22:15:44 +01:00
Robin Gareus
7619946b4b MIDI vari-speed playback 2015-03-10 22:15:44 +01:00
Robin Gareus
3139b7e980 prototype basic midi varispeed 2015-03-10 22:15:44 +01:00
Ben Loftis
f214488d0f 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.
2015-03-10 15:58:01 -05:00
nick_m
a2b35aa634 Fix compilation for osx. 2015-03-11 01:57:16 +11:00
nick_m
fb8bc4e8c9 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.
2015-03-11 00:40:02 +11:00
Robin Gareus
1199fe2f90 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
2015-03-10 14:32:06 +01:00
nick_m
e7b0e67bc8 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
2015-03-10 23:35:53 +11:00
Robin Gareus
2ab9a04435 windows package: pick up major version 2015-03-10 11:36:03 +01:00
Robin Gareus
06bea13b7c increase shuttle speed display granularity. 2015-03-10 11:00:53 +01:00
Robin Gareus
2d20bcab4a dramatically reduce ShuttleControl CPU usage 2015-03-10 10:53:56 +01:00
Robin Gareus
3547540f98 throttle TransportStateChange signal emissions 2015-03-10 10:49:52 +01:00
Robin Gareus
2e82aa2743 clean up and refine shuttle control rendering. 2015-03-10 03:49:00 +01:00
Robin Gareus
23762ed225 circles and circles and circles, again my friend
escape the cairo vicious circle, fixes varispeed playback
& major CPU hog on OSX.
2015-03-10 02:48:14 +01:00
Robin Gareus
8de9ee32a2 tweak OS X packaging for 10.9 2015-03-10 01:41:52 +01:00
Robin Gareus
db8406dc4a disk-space calc is windows (not MSVC) specific. 2015-03-10 00:21:37 +01:00
Robin Gareus
a6b9e81ed1 10ms = 1e7 nsec 2015-03-10 00:09:01 +01:00
Robin Gareus
22a91f47bb rework/optimize CoreMidi 2015-03-09 23:28:57 +01:00
Robin Gareus
efbc00651f NOOP, add header-guards and namespace to CA backend 2015-03-09 23:28:57 +01:00
Paul Davis
3c7b468c02 more work to remove hard coding of major version number for linux packaging 2015-03-09 13:50:57 -05:00
Paul Davis
2198d692cc more work to remove hard coding of major version number for linux packaging 2015-03-09 13:50:57 -05:00
John Emmas
523f703b3b Move 'poor_mans_glob()' into libpbd 2015-03-09 18:32:55 +00:00
Paul Davis
e525b169f2 attempt to remove major version hard-coding from linux packaging tools 2015-03-09 12:42:23 -05:00
Robin Gareus
63c4f8ad3f Revert "explicitly shutdown engine at exit"
This reverts commit c12b7bc9d8.

ARDOUR_UI::finish() already does this.
2015-03-09 18:32:14 +01:00
nick_m
03160ee182 Tearoff windows are utility windows rather than toolbars. 2015-03-10 03:58:00 +11:00
Robin Gareus
52e99750a0 ALSA: fix thinko in sample time calc. 2015-03-09 17:17:50 +01:00
Robin Gareus
0446ff64f4 implement samples_since cycle start. 2015-03-09 17:17:50 +01:00
John Emmas
e243d328a4 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.
2015-03-09 15:57:15 +00:00
nick_m
4d66c6c1ab Add route dialog responds to enter key being pressed. 2015-03-10 02:27:40 +11:00
nick_m
44d4652995 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.
2015-03-10 02:25:25 +11:00