Commit graph

6739 commits

Author SHA1 Message Date
Michael Fisher
f6ec3c42fc Make Session::send_song_position_pointer a no-op 2013-08-08 15:26:19 -04:00
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
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
Robin Gareus
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
Paul Davis
36623b7b0a remove an identical odd namespacing typo 2013-08-08 15:26:18 -04:00
Paul Davis
9376e436cd remove odd namespacing typo 2013-08-08 15:26:18 -04:00
Robin Gareus
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
Robin Gareus
6b02d50d5e clean up some valgrid "Uninitialised value was created by a heap allocation" wanings 2013-08-08 15:26:18 -04:00
Robin Gareus
cc6a31c972 fix typo in c212c16eb 2013-08-08 15:26:18 -04:00
Robin Gareus
69c6ef1aa1 initialize some uninitialized values 2013-08-08 15:26:18 -04:00
Robin Gareus
ddf6029c86 catch assert() 2013-08-08 15:26:18 -04:00
Robin Gareus
a7c80c808d LV2 - use scratch buffers to scratch :) 2013-08-08 15:26:18 -04:00
Robin Gareus
9a8deb6ab4 another amend to 00f26394a9 2013-08-08 15:26:18 -04:00
Robin Gareus
9ef2a89ccd fix stupid copy/paste error in 00f26394a9 2013-08-08 15:26:18 -04:00
Robin Gareus
b6b614acac minimize meter-peak re-draw area 2013-08-08 15:26:18 -04:00
Robin Gareus
becee15370 RMS meter: remove unused peak-detection 2013-08-08 15:26:18 -04:00
Robin Gareus
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
Robin Gareus
e92306459d Revert "fix issue with generator plugins and no-roll disk monitoring"
This reverts commit bd34ab04cd.
2013-08-08 15:26:17 -04:00
Robin Gareus
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
Robin Gareus
c8a26faa97 use K-20 meter as default master bus 2013-08-08 15:26:17 -04:00
Robin Gareus
84f20367cc add option to resize meterbridge track-labels 2013-08-08 15:26:17 -04:00
Robin Gareus
5a187cb650 change default meter-fall-off to 13.3 dB/sec 2013-08-08 15:26:17 -04:00
Robin Gareus
82e1d9655f use 3px for peak-hold in LED mode -> display 2 bright lines 2013-08-08 15:26:16 -04:00
Robin Gareus
59a3b797d7 fix compiler warnings. 2013-08-08 15:26:16 -04:00
Robin Gareus
3098e5963c tweak meter-LED style 2013-08-08 15:26:01 -04:00
Edgar Aichinger
c5d930b6b8 update german translation for libardour
fixes x42's screwup with prev commit.
2013-08-08 15:26:01 -04:00
Edgar Aichinger
89cf7c1248 update german translation 2013-08-08 15:26:01 -04:00
Robin Gareus
ff9296e17c add dedicated line-up level for IEC1/DIN meter (15dbFS) 2013-08-08 15:26:01 -04:00
Robin Gareus
d4c864d803 make LED meter style optional 2013-08-08 15:26:01 -04:00
Robin Gareus
11c49ab8d1 cache shaded meter-background regardless of color
previously, shaded patterns were assumed to have different colors as well.
2013-08-08 15:26:01 -04:00
Robin Gareus
2bdd29d3ac fix meter background redraw issue #5601 2013-08-08 15:26:01 -04:00
Robin Gareus
12c9055659 [re]implement horizontal meter 2013-08-08 15:26:01 -04:00
Robin Gareus
26c4ae14cb Don't allow to deactivate meter.
before this change:

1) switch to 'custom' meter point,
2) deactivate meter processor.

-> meters does not run regardless of meter-point
-> meter can only be re-nabled in 'custom' mode
2013-08-08 15:25:40 -04:00
Robin Gareus
d327ab43cf reset meters only when *really* necessary
..and continue to calculate fall-off in
audio-cycle (rather than UI thread)

TODO: check if this works properly when switching
between audio/midi meter modes on a midi-track.

One of the motivations to always reset meters when the
meter-point changes was to resolve peak-hold & fall-off
issues when a midi-meter replaces an audio-meter and vice
versa.
2013-08-08 15:25:40 -04:00
Robin Gareus
d39d296ff8 fix compiler warning 2013-08-08 15:25:40 -04:00
Robin Gareus
ba8742edd1 align gradient with meter-metrics 2013-08-08 15:25:40 -04:00
Robin Gareus
d10b712897 increase saturation of meter-shader 2013-08-08 15:24:49 -04:00
Robin Gareus
bc66985710 allow to en/disable shade and LED meter style 2013-08-08 15:24:49 -04:00
Robin Gareus
2c9484fe14 add "0VU = +8dBu" VU meter config 2013-08-08 15:24:15 -04:00
Robin Gareus
b713fceed0 change default VU mode to "0VU = +4dBu (standard)" 2013-08-08 15:24:15 -04:00