13
0
Commit Graph

15846 Commits

Author SHA1 Message Date
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
9107a4b7fe 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)
2015-03-08 21:31:08 +01:00
90110c4308 allow to drag gain-envelope points 2015-03-08 20:18:50 +01:00
ba8b91679a fix typo, list output bundles properly. 2015-03-08 19:02:32 +01:00
8008d4262f nicely named session bundles 2015-03-08 19:02:31 +01:00
1ad42b249b 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? ;-)
2015-03-08 19:02:31 +01:00
8fd67c5a88 coremidi separate ID and Name, use fixed IDs. 2015-03-08 19:02:31 +01:00
0cf11acc27 add backend support for port properties (CoreAudio) 2015-03-08 19:02:31 +01:00
20cd14cf36 add backend support for port properties (jack) 2015-03-08 19:02:31 +01:00
f89123b28b libardour API to exercise get_port_property 2015-03-08 19:02:31 +01:00
0f736feee0 add port-engine API to query port-properties 2015-03-08 19:02:30 +01:00