13
0
Commit Graph

5900 Commits

Author SHA1 Message Date
9875d43414 use buffer APIs instead of raw memcpy, fix plugin bypass 2013-12-29 21:48:14 +01:00
dfec88e1a3 add proper namespace to PBD::demangle for systems without execinfo 2013-12-29 13:59:37 -05:00
f4060c6b38 fix replicate_missing_region_channels option 2013-12-28 21:12:57 +01:00
b880a38152 Merge branch 'master' into cairocanvas 2013-12-28 14:00:20 -05:00
a585816f3e slight optimization of PolyItem::render_path() 2013-12-28 13:52:08 -05:00
0f6686eea9 remove unused API to explicitly set/unset buffer silent flag 2013-12-28 13:43:57 +01:00
37264c85a5 centralize buffer silent-flag
fixes possible x-talk 1 in, >= 2 out tracks:

Previously, only the first route-buffer of the input buffers
were marked as non-silent in Route::process_output_buffers().
Other buffers in the set (e.g. post-panner) would
contain audio but not marked as non-silent.
2013-12-28 13:43:44 +01:00
218a4664be add visibility/export control to libcanvas 2013-12-27 16:24:58 -05:00
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
8f69af4af3 add support for old compilers w/o implicit stdbool 2013-12-27 14:53:30 +01:00
3f75d78848 initialize some uninitialized variables 2013-12-27 14:04:49 +01:00
84f55440a3 fix redrawing of canvas with an optimized build
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00
Sakari Bergen
e00d9dd585 Re-enable export file tagging. No idea why this code has dropped out at some stage... 2013-12-23 20:26:51 +02:00
0acafa4d3d add K12/RMS meter type 2013-12-22 09:25:33 +01:00
2065a2a2ac fix up OSC support to conform to new CP API and pay attention to feedback setting, even though feedback does nothing right now 2013-12-21 15:31:28 -05:00
e9c47051f7 conform to new CP API 2013-12-21 15:31:28 -05:00
91e2b5f88a conform to new CP API 2013-12-21 15:31:28 -05:00
362769e967 new CP API and fix several egregious bugs with port handling when switching devices, setting state etc. 2013-12-21 15:31:28 -05:00
644ead06b4 remove debug output 2013-12-21 15:31:28 -05:00
5ebc8de6cc conform to new CP API design 2013-12-21 15:31:28 -05:00
ea5fde0787 conform to new CP API design 2013-12-21 15:31:28 -05:00
b0a10da783 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
8a005319b8 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
0cf8b9d3ea new ControlProtocolManager API, and proper handling of view/model changes in the RC options (prefs) editor 2013-12-21 15:31:28 -05:00
Hans Baier
611d1ffc29 midi_clock_slave: fix bandwidth to 2/60 for best results 2013-12-19 05:42:52 +07:00
Hans Baier
6e5240c24b interpolation_test: add some necessary assertions 2013-12-19 05:31:39 +07:00
Hans Baier
caac41a9cb midi_clock_slave: fix wrong calculation of loop error
since transport_frame refers to cycle start, the should be position has
to account for position of the midi clock event.
2013-12-18 09:55:15 +07:00
Hans Baier
bc5d23d5fa midi_clock_slave.cc: Better debug messages 2013-12-18 08:26:43 +07:00
Hans Baier
d826de83ae midi clock slave: make bandwidth variable according to period size 2013-12-18 06:19:21 +07:00
f6c9fa4d89 fix a crash caused by not checking if MackieControlProtocol::_surfaces_state exists
I forgot to add this check when i changed the member variable to a pointer.
2013-12-14 11:10:54 -05:00
e82ccd7648 rsynth.lv2: fix note off+on follow up:
special case if the same note is turned off and on in the
same [internal] synth cycle (64samples). x-fade to ADSR attack.
2013-12-14 04:29:12 +01:00
afabc09fbf change Generic MIDI control so that it handles a SendFeedback request synchronously within a process callback 2013-12-13 16:56:34 -05:00
89adeb2a9f make MIDI UI in libardour handle CallSlot requests like it used to (and like it should) 2013-12-13 16:55:57 -05:00
85cd647226 Mackie Control support now saves & restores port connections for devices not using ipMIDI (not required for ipMIDI anyway) 2013-12-13 16:04:34 -05:00
a17bafa964 remove some unused code from mackie support 2013-12-13 16:04:34 -05:00
6c84362959 fix reasonable synth octave 2013-12-13 20:59:08 +01:00
c43a1f39a6 xmas-egg 2013-12-13 20:28:30 +01:00
9b6135b2e1 change enter/exit event delivery to follow X Window model (inferior, ancestor, virtual, nonlinear) 2013-12-12 20:44:04 -05:00
1676789907 fix merge conflicts from master 2013-12-12 10:06:59 -05:00
88732abd01 change event propagation to be based on parent/child lineage, not z-axis stacking, plus some more alterations to try to get enter/leave working 2013-12-12 10:03:33 -05:00
fd1eb73ef2 adjust LV2 ringbuffer size according to LV2:resize-port
The message-size itself is part of the message which
stored in the ringbuffer. If the rinbuffer overflows
the message is misinterpreted -> segfault.

Choose a more conservative ring-buffer size and take
the requested LV2 size into account.
2013-12-12 14:42:02 +01:00
Nils Philippsen
527b0a78a1 fix const-ness of names array 2013-12-10 23:07:48 +01:00
Nils Philippsen
96947e2f3a add cmp_nocase_utf8()
This is like cmp_nocase(), only that it doesn't use toupper(), tolower()
and therefore is agnostic of the current locale, and attempts to compare
strings in a UTF8-aware way (or falls back to ASCII if one of the
strings isn't UTF8-encoded).
2013-12-10 23:07:47 +01:00
Nils Philippsen
71f6104340 use correct argument order with memset() 2013-12-10 23:07:47 +01:00
Nils Philippsen
27a3f2837a use std::fill_n to fill gain buffer with samples
Using memset fills the buffer with whatever 1.0 as a double or float has
in its LSB.
2013-12-10 23:07:47 +01:00
a631350f93 implement Curve::covers() in a very primitive way (also note: fails for actual spline curves) 2013-12-09 21:03:16 -05:00
c4f0063a68 make PolyLine use distance_to_segment_squared(), and add separate (null, for now) method Curve::covers(Duple) because the math there needs to be different, maybe 2013-12-09 17:24:34 -05:00
77a63c2bf7 ArdourCanvas::Line::covers() uses distance_to_segment_squared() 2013-12-09 13:39:10 -05:00
4780c84252 debug trace tweaks 2013-12-09 13:38:22 -05:00
75b25cd913 add a utility function to Canvas to compute distance from a point to a line segment 2013-12-09 13:35:07 -05:00
Nils Philippsen
a86b66181a ignore "unofficial" states in jack_sync_callback() 2013-12-09 17:56:06 +01:00
bbd79b6792 print a warning for every VST >=2.4 plugin
17:29 < rgareus> las: ok. I'll make this translatable, but this warning will show up every time ardour starts (and scans for plugins) which can be annoying.
17:30 < las> rgareus: yeah, well we need to do black/whitelisting of plugins anyway so ...
2013-12-07 18:45:40 +01:00
0c2494595d detect VST >= 2.4 plugins. 2013-12-07 18:04:31 +01:00
59da788793 Merge branch 'master' into cairocanvas 2013-12-05 17:50:28 -05:00
144f4cb423 Remove duplicate use of LIBARDOUR_API from Session class 2013-12-05 21:26:39 +10:00
05e9f9d81c Remove old visibility.h header that is no longer in use 2013-12-05 21:25:09 +10:00
2caad20a71 Use the correct visibility macros 2013-12-05 21:21:11 +10:00
3a885d6177 Only use __declspec(dllimport/dllexport) for MSVC compiler
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
ccebb050e4 Fix compile when using external version of libltc 2013-12-05 20:57:36 +10:00
ce7bfb489c change "cpu" in cpu load backend functions 2013-12-04 11:48:31 -05:00
b2bc7cfbe1 change "cpu" in cpu load backend functions 2013-12-04 11:45:53 -05:00
8648a8a13b fix up wscript/build issues in exportvis after merge with master 2013-12-03 11:51:25 -05:00
ae6b0b9f1a minor tweaks to MIDI clock support, including delivery of position events/messages when stopped 2013-12-02 23:34:12 -05:00
76ea055b85 don't run MIDI clock "tick" if session is silent (e.g. due to a locate) 2013-12-02 23:33:33 -05:00
c19f9f8a47 fix continuous send of MIDI start/position/stop messages introduced by mistake 2013-12-01 12:18:57 -05:00
3c98de9ce4 fix merge with master 2013-11-29 22:31:29 -05:00
d1cc7e5a50 fix up a bunch of confusion regarding the size/capacity/allocation of audio & midi buffers 2013-11-29 22:26:33 -05:00
0c4457fa83 drop capacity argument from Buffer constructor, since the abstract class cannot (and should not) do anything with it 2013-11-29 22:25:36 -05:00
146734526c fix indentation 2013-11-29 22:24:59 -05:00
1190f1d0e0 make JACK backend return the right set of values when asked for buffer sizes or sample rate of a device other than the one in use 2013-11-27 17:41:54 -05:00
680c64246e Merge branch 'master' into cairocanvas 2013-11-27 16:19:01 -05:00
611d93830a add 0.5 second sleep after closing JACK connection so that next startup/connect is likely to work (allowing JACK time to shutdown). Ugh 2013-11-27 15:25:10 -05:00
56716a1f28 add error check to call to PortManager::reestablish_ports 2013-11-27 15:24:24 -05:00
dc4a984cd6 move AudioBackend::_start() into protected, and expand a bit on documenting ::start() vs ::_start() 2013-11-27 14:27:27 -05:00
4d0caa6ddd add yet more missing parts of previous commit re: libmidi++ and JACK (files not saved in emacs, sigh) 2013-11-27 14:08:22 -05:00
4a71e6f28f add missing parts of previous commit re: libmidi++ and JACK (files not saved in emacs, sigh) 2013-11-27 13:53:58 -05:00
ac4d691fe9 remove unintended linkage between libmidipp and jack 2013-11-27 12:44:23 -05:00
fa22520fd2 Merge branch 'master' into cairocanvas 2013-11-25 09:26:35 -05:00
Sakari Bergen
52309c0c4f Fix invalid assertions in AudioGrapher SampleFormatConverter
This fixes an export crash with e.g. 8-bit export
2013-11-23 18:43:54 +02:00
5cbd4ce759 fix crash @ session-restore of plugins windows
The question is: why is _owner not set [yet], when the
window is restored. This rather smells like a race condition.
2013-11-22 18:22:55 +01:00
2eb79acefd lv2: increase scratch buffer size to request port minimum size 2013-11-17 00:33:32 +01:00
982c38dda1 allow to include In/Disk button on Meterbridge 2013-11-09 13:16:08 +01:00
3ce39cc410 update .po files with --no-fuzzy-matching in use 2013-11-05 11:15:46 -05:00
0f33baf32f back-port two actual bug fixes from cairocanvas branch 2013-11-05 10:17:40 -05:00
7aa46da32f fix incorrect use of sizeof() in snprintf (function never actually used in ardour,but ... ) 2013-11-05 10:17:22 -05:00
Julien de Kozak
6992153ae9 fix tests compilation 2013-11-05 07:51:04 +01:00
0cca272431 try to fix various warnings from gcc when optimization flags are enabled 2013-11-04 21:32:41 -05:00
342237bf9c fix reversed arguments to memset when clearing VST plugin name 2013-11-04 21:31:58 -05:00
7da2689f1c initialize MidiModel::Change::patch_id (correctlty?) 2013-11-04 21:31:26 -05:00
38afa297ee logic fix for SMF meta-event is-text determination, plus some gcc optimization-based unusued fixes 2013-11-04 21:30:40 -05:00
fe6c5612a2 Merge branch 'master' into cairocanvas 2013-11-04 16:20:10 -05:00
6473cc7cb4 drop use of bounding box to determine whether an item covers a point; add Item::covers(Duple const&)
Default implementation for Item still uses bounding box, but specializations for Arc (Circle), Polygon, Line and PolyLine have been added
2013-11-04 11:56:10 -05:00
Sakari Bergen
3fca030603 Fix invalid silence trimmer end-of-input behavior (multiple EndOfInputs)
This caused an export bug when:
a) normalizing
b) adding silence to end
c) having more than one channel

The sound was corrupted by repeating each jack frame as many times
as there were channels.
2013-11-03 21:22:00 +02:00
08b485db75 send enter events to EVERY newly entered item (ignore the bool return from the event handler); other canvas debugging aids;switch items_at_point() to use canvas coordinates 2013-11-03 10:07:00 -05:00
85daa31ab5 all events propagate out of the canvas in canvas coordinates now, so revert changes in editor_drags.cc that worked around this not being the case 2013-10-31 16:43:35 -04:00
ea1ccb869a fix merge with master 2013-10-31 13:16:51 -04:00
b46244d527 finally (?) fix up logic for rectangle drawing (fill+stroke) to tackle what is hopefully the last of the expose problems 2013-10-31 11:49:36 -04:00
7ce86cec7d handle enter/leave items when zooming and scrolling occur 2013-10-31 03:10:18 -04:00
7bbd28aa08 notable changes to try to improve most of enter/leave handling for canvas items 2013-10-30 23:36:30 -04:00
006ba7cd36 reduce verbiage and remove visible current_item red rect 2013-10-28 16:36:11 -04:00