13
0
Commit Graph

10992 Commits

Author SHA1 Message Date
Michael Fisher
ce85a4d847 Revamp clock processing so it uses an internal frame reference.
MidiClockTicker::Position managed by boost::scoped_ptr
2013-08-08 15:26:19 -04:00
Michael Fisher
46ee815459 WIP - Experimenting with an alternative clock generating algo
- Transport debug output (tracing where transport_frame
      is updated
2013-08-08 15:26:19 -04:00
Michael Fisher
9592359c70 Human readable printing of MIDI Position messages 2013-08-08 15:26:18 -04:00
Michael Fisher
d6480f15f9 - Send position data from internal position class
- Proper midi beat conversions for all time signatures
- Disable responding to Session::PositionChanged in place
  of Session::Located.
2013-08-08 15:26:18 -04:00
Michael Fisher
7d5102543c Test code removal... 2013-08-08 15:26:18 -04:00
Michael Fisher
0ed083730a MIDI Clock - Shuffling locate code (not actually used yet)
- Subscribe to Session::Locate to detect seeks
- Shuffle Mclk locating computations into a separate private class
2013-08-08 15:26:18 -04:00
Michael Fisher
9afb71eb5a Stop compiler warning about NSURL 2013-08-08 15:26:18 -04:00
9284835580 rework MIDI [processor|plugin] chain
* forward midi-data around plugins that have no MIDI-out
* allow to insert plugins with no MIDI-input at a point with one MIDI-channel

This works because excess ports (both plugin and route) remain
unconnected and use scratch-buffers.

Tested with LV2, LXVST and LADSPA.
(AU plugins with variable in/out retain the old behavior, no bypass)

fixes http://tracker.ardour.org/view.php?id=5630
2013-08-08 15:26:18 -04:00
36623b7b0a remove an identical odd namespacing typo 2013-08-08 15:26:18 -04:00
9376e436cd remove odd namespacing typo 2013-08-08 15:26:18 -04:00
3f423339bc add _ISOC9X_SOURCE define to compiler command line to provide uniform access to llabs() 2013-08-08 15:26:18 -04:00
4db277056f re-check meterbridge metric-area on route deletion
fixes http://tracker.ardour.org/view.php?id=5616#c15204
2013-08-08 15:26:18 -04:00
3e411ec4f6 use zeroed scratch buffers for "silent" plugin runs
Plugins rewrite the buffer data in-place and some plugins
can produce output even when fed with silence.

Hence, during a PluginInsert::silence() run a plugin can
inject data into the "silent" buffers which causes side-effects.

Kudos to Chris 'oofus' Goddard for finding this issue.
2013-08-08 15:26:18 -04:00
1700b30e4e tiny detail.. GUI-callback may try to check vmonitor->is_started() or issue a periodic seek update while it's going away 2013-08-08 15:26:18 -04:00
6b02d50d5e clean up some valgrid "Uninitialised value was created by a heap allocation" wanings 2013-08-08 15:26:18 -04:00
41aae4d685 correct error message 2013-08-08 15:26:18 -04:00
9aa348afce fix close_allv() sentinel 2013-08-08 15:26:18 -04:00
24b9f1ff8a valgrind ignore glib UTF8 warnings 2013-08-08 15:26:18 -04:00
f977b55cee initialize two more uninitialized vars.. 2013-08-08 15:26:18 -04:00
cc6a31c972 fix typo in c212c16eb 2013-08-08 15:26:18 -04:00
69c6ef1aa1 initialize some uninitialized values 2013-08-08 15:26:18 -04:00
ddf6029c86 catch assert() 2013-08-08 15:26:18 -04:00
a7c80c808d LV2 - use scratch buffers to scratch :) 2013-08-08 15:26:18 -04:00
9a8deb6ab4 another amend to 00f26394a9 2013-08-08 15:26:18 -04:00
9ef2a89ccd fix stupid copy/paste error in 00f26394a9 2013-08-08 15:26:18 -04:00
b6b614acac minimize meter-peak re-draw area 2013-08-08 15:26:18 -04:00
becee15370 RMS meter: remove unused peak-detection 2013-08-08 15:26:18 -04:00
15ac545601 adjust meterbridge label-heigh options 2013-08-08 15:26:18 -04:00
1fd2c857e3 add name-tooltips to the meterbridge meters 2013-08-08 15:26:17 -04:00
16ae154dff clean up 44fc92c3 (not a threading issue but sigc++ problem)
RouteUI is not sigc::trackable itself (only derived classes are)
RouteUI::~RouteUI() does not disconnect from signals on destruction.
2013-08-08 15:26:17 -04:00
f6ac5cadea use dedicated buffers for route (and track)
"scratch buffers are by definition scratch and their contents are undefined at all times"
"silent buffers are by definition all-zero and should not be used for real data"

But track & route were using those for actual data; plugins (which may run
in the same thread and may get the same buffers) use them for scratch thereby
overwriting real data.

In particular get_silent_buffers() (used by LadspaPlugin::connect_and_run)
clears the buffer which can holds real data:
e.g. via  Route::passthru_silence() -> plugin1 -> plugin2 (clears output of plugin1)
2013-08-08 15:26:17 -04:00
401bbe24c3 disconnect AuxSend connection when deleting bus
fixes crash:
 - add bus
 - aux-send a signal to that bus
 - delete bus
 - add another bus
 - aux-send a signal to "another bus"
 - click "Aux Send" button on "another bus"
 - crash
2013-08-08 15:26:17 -04:00
e92306459d Revert "fix issue with generator plugins and no-roll disk monitoring"
This reverts commit bd34ab04cd.
2013-08-08 15:26:17 -04:00
05ed31a980 fix issue with generator plugins and no-roll disk monitoring 2013-08-08 15:26:17 -04:00
Michael Fisher
406e69c57d Return an empty string instead of a bool 2013-08-08 15:26:17 -04:00
Michael Fisher
af148ff130 Cast param for std::time to a pointer of time_t
- bleeding clang (trunk 186535 v3.4) fails here
2013-08-08 15:26:17 -04:00
Michael Fisher
bfbc55a673 Proper OSX/CLANG/CXX11 support in stl_delete.h
- replaces fix in 066df0d218
- Check if _LIBCPP_VECTOR is defined for vector_delete.
  This is defined in libc++'s headers which Apple is using
  instead of libstdc++
2013-08-08 15:26:17 -04:00
Michael Fisher
14a7941b5d Housekeeping, code style 2013-08-08 15:26:17 -04:00
Michael Fisher
8541b81e31 Moving Mclk locating code to ticker.cc. Housekeeping 2013-08-08 15:26:17 -04:00
Michael Fisher
4f1085aa08 Add method to send a song position pointer message 2013-08-08 15:26:17 -04:00
Michael Fisher
7d7d9a3fe7 Send a song position pointer with mmc and fullframe fake locating 2013-08-08 15:26:17 -04:00
Michael Fisher
fd3397804f 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-08-08 15:26:17 -04:00
01f1cde078 tweak meterbridge-label height 2013-08-08 15:26:17 -04:00
3a34326f91 change default BBC-meter color 2013-08-08 15:26:17 -04:00
8eab8de852 fix compiler warning 2013-08-08 15:26:17 -04:00
c8a26faa97 use K-20 meter as default master bus 2013-08-08 15:26:17 -04:00
84f20367cc add option to resize meterbridge track-labels 2013-08-08 15:26:17 -04:00
b58bb80a05 explicitly re-init meter when theme changes.
fixes:
14:14 < oofus> rgareus: BBC meter colour changed, all meters
               except the one on the tool bar picked it up
2013-08-08 15:26:17 -04:00
244f233d9e change metric-scale on the sides of meterbridge when scrolling 2013-08-08 15:26:17 -04:00
8eaaede05d allow to configure color of BBC meter 2013-08-08 15:26:17 -04:00