13
0
Commit Graph

15856 Commits

Author SHA1 Message Date
77821ba373 NOOP, midi-auditioner clean API usage 2015-03-11 12:29:45 +01:00
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
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
c3d7654884 coreaudio backend: switch threads early 2015-03-11 00:27:14 +01:00
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
1a5a48436a NOOP, re-indent. 2015-03-10 22:15:44 +01:00
9b2898c533 yet unheard of edge-case. 2015-03-10 22:15:44 +01:00
68146a0969 audio interpolation is really private 2015-03-10 22:15:44 +01:00
7619946b4b MIDI vari-speed playback 2015-03-10 22:15:44 +01:00
3139b7e980 prototype basic midi varispeed 2015-03-10 22:15:44 +01:00
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
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
2ab9a04435 windows package: pick up major version 2015-03-10 11:36:03 +01:00
06bea13b7c increase shuttle speed display granularity. 2015-03-10 11:00:53 +01:00
2d20bcab4a dramatically reduce ShuttleControl CPU usage 2015-03-10 10:53:56 +01:00
3547540f98 throttle TransportStateChange signal emissions 2015-03-10 10:49:52 +01:00
2e82aa2743 clean up and refine shuttle control rendering. 2015-03-10 03:49:00 +01:00
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
8de9ee32a2 tweak OS X packaging for 10.9 2015-03-10 01:41:52 +01:00
db8406dc4a disk-space calc is windows (not MSVC) specific. 2015-03-10 00:21:37 +01:00
a6b9e81ed1 10ms = 1e7 nsec 2015-03-10 00:09:01 +01:00
22a91f47bb rework/optimize CoreMidi 2015-03-09 23:28:57 +01:00
efbc00651f NOOP, add header-guards and namespace to CA backend 2015-03-09 23:28:57 +01:00
3c7b468c02 more work to remove hard coding of major version number for linux packaging 2015-03-09 13:50:57 -05:00
2198d692cc more work to remove hard coding of major version number for linux packaging 2015-03-09 13:50:57 -05:00
523f703b3b Move 'poor_mans_glob()' into libpbd 2015-03-09 18:32:55 +00:00
e525b169f2 attempt to remove major version hard-coding from linux packaging tools 2015-03-09 12:42:23 -05:00
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
52e99750a0 ALSA: fix thinko in sample time calc. 2015-03-09 17:17:50 +01:00
0446ff64f4 implement samples_since cycle start. 2015-03-09 17:17:50 +01:00
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
2d6e48fb0b 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?
2015-03-09 11:43:05 +00:00
f2592df842 fix typo in 72ed785 2015-03-09 05:59:46 +01:00
09dd3fc369 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)
2015-03-09 05:41:36 +01:00
59f12bd31a 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.
2015-03-09 03:04:27 +01:00
c12b7bc9d8 explicitly shutdown engine at exit
Callbacks like EngineHalted or DeviceListChanged 
can be deadly while the UI is being torn down.
2015-03-09 01:41:34 +01:00
72ed785940 allow hotplugging CoreMidi devices. 2015-03-09 00:26:01 +01:00
bc7be6fd3e there’s no jack_creator_thread on windows 2015-03-09 00:09:42 +01:00
6a21b33c65 update default windows config
(jack on windows does not ship metadata.h)
2015-03-08 23:21:36 +01:00
a64a311a41 keep port bundles in sync with engine 2015-03-08 22:40:27 +01:00
4100e1f7b7 Bundle API user update 2/2
cherry-pickable follow up to 0582221
2015-03-08 22:40:00 +01:00
40c04867ef Bundle API user update
cherry-pickable follow up to 0582221
2015-03-08 22:39:34 +01:00
0582221353 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.
2015-03-08 22:38:55 +01:00