13
0
Commit Graph

6206 Commits

Author SHA1 Message Date
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
b1231696ca Mingw64 has pthread_t available, and does not need a thread ID comparison function 2013-12-19 13:04:04 -05:00
94993816cc move portable copyfile function into tools/autowaf.py and use it in both gtk2_ardour and taglib 2013-12-19 12:55:52 -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
be376350b5 A few basic tests for AudioEngine 2013-12-07 20:48:19 +10:00
dc60753dde Use correct header include for _fullpath
According to http://msdn.microsoft.com/en-us/library/506720ff(v=vs.120).aspx
2013-12-07 20:48:02 +10:00
59da788793 Merge branch 'master' into cairocanvas 2013-12-05 17:50:28 -05:00
a7961f04cf fix error in mingw version of realpath() 2013-12-05 17:43:15 -05:00
ef2c1ff92f add (likely, partial) windows implementation of POSIX realpath() for COMPILER_MINGW where the latter is not available, to the only place realpath() is used 2013-12-05 17:40:21 -05:00
550b991176 remove unnecessary recently-added include for realpath, which is not actively used 2013-12-05 17:39:41 -05:00
e0cc10540d extra source no longer required 2013-12-05 17:24:39 -05:00
bab60c2e8c we don't use realpath() anymore so there is need for a special mingw include 2013-12-05 17:23:18 -05:00
c0e5506994 we don't use realpath() anymore so there is need for a special mingw include 2013-12-05 17:21:50 -05:00
3144a81acb additional header needed for mingw build to get realpath() 2013-12-05 14:49:03 -05:00
8970446d7e additional source file for mingw build 2013-12-05 14:48:45 -05:00
597c9c9b25 make mingw-based pthread comparison function work with both 32 and 64 bit variants of mingw 2013-12-05 14:46:40 -05:00
b7835cd7b1 workaround compilation issues with assembler in fpu code and mingw 2013-12-05 14:45:17 -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
2ba2a50dec Merge branch 'master' into windows 2013-12-04 11:50:36 -05: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
0258f2958b switch from using Sleep/usleep to Glib::usleep() 2013-12-03 10:24:05 -05:00
22175630bb Merge branch 'windowspush' of https://github.com/mojofunk/ardour into windows 2013-12-03 10:01:26 -05:00
848e75aaea Merge branch 'master' into windows 2013-12-03 10:01:13 -05:00
a420328354 Reinstate call to package config for JACK backend
Not sure how this got lost, merge perhaps.
2013-12-03 20:28:17 +10:00
0f6a65e405 Use Sleep instead of usleep on windows in JACK backend 2013-12-03 20:28:10 +10: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
4a1b43b9d5 Replace non-portable printf format specifier
This caused Diskstream state to be restored incorrectly
2013-12-02 21:28:49 +10:00
f74521b0cd Remove command line string quoting when forming jack command line on windows
This used to be necessary when we started the JACK server but now that we
write a .jackdrc it only causes problems.

I have fixed this before in some branch, must have been lost in a merge.
2013-12-02 21:28:19 +10:00
ad906794b8 Fix pattern used to search for audio backends on windows
The audio backend dlls have a number postfix after the library/module name
2013-12-02 21:28:05 +10:00
a9fc076d2e Waf options are not valid during build stage so use environment variable 2013-12-02 21:26:28 +10:00
c3d2b1ea18 Use PBD::canonical_path instead of ::realpath
This is a previous change that seems to have been lost in master -> windows merge
2013-12-02 21:25:47 +10:00
18a59dd7fa Include pbd/localtime_r.h in session_jack.cc for MinGW 2013-12-02 21:22:14 +10:00
9b5440ec03 Use PBD::pthread_name in MTC_Slave for portability 2013-12-02 21:21:54 +10:00
30da95b609 Remove duplicate ALSA pkgconfig 2013-12-02 21:21:25 +10:00
e80d18b0b3 Revert unfinished export visibility commits by John Emmas
These break the mingw build and the visibility work will make this
code redundant
2013-12-02 21:18:29 +10:00
796f39b967 Fix compilation on linux now that libardour no longer links to libjack
Similar change has already been made in master branch
2013-12-02 21:17:47 +10:00
c19f9f8a47 fix continuous send of MIDI start/position/stop messages introduced by mistake 2013-12-01 12:18:57 -05:00
6bd36896e7 'libs/pbd' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date) 2013-12-01 14:26:08 +00:00
3c98de9ce4 fix merge with master 2013-11-29 22:31:29 -05:00
15cee60021 merge and resolve conflict with master 2013-11-29 22:29:25 -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
d63e8ba0e8 Merge branch 'master' into windows 2013-11-27 16:18:22 -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
b550a6e85b Merge branch 'master' into windows 2013-11-27 12:58:43 -05:00
ac4d691fe9 remove unintended linkage between libmidipp and jack 2013-11-27 12:44:23 -05:00
3ea7529c14 fix broken situation with respect to taglib on windows where we used to use symlinks to fix up taglib's insane header/directory structure
Symlinks don't work correctly with git on windows, so instead we now copy the required "public" headers into the build tree as part of the build. Works on Linux.
2013-11-26 21:54:48 -05:00
efff843f05 Merge branch 'master' into windows 2013-11-26 10:25:55 -05:00
08371ae2cf resolve merge with master (?) 2013-11-26 10:24:51 -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
f6d33d2a87 fix comment 2013-10-28 16:35:48 -04:00
30263a91d7 fix coordinate system for Canvas items_at_point() methods 2013-10-28 16:35:31 -04:00
f28fb76bd9 fix computation of Text bounding box to respect _clamped_width 2013-10-28 12:27:33 -04:00
1eb680f937 add coordinate space comment 2013-10-28 12:27:03 -04:00
f25ff95390 tweak whitespace and add coordinate space comment 2013-10-28 12:26:40 -04:00
0db7bdface streamline button press event handling code a little, and tweak enter/leave debugging text 2013-10-28 12:25:41 -04:00
7fec991077 fix thinko in declaration of ARDOUR::PortEngine::get_port_by_name() 2013-10-28 09:46:59 -04:00
Nils Philippsen
5f00d2f3a7 allow linking unbundled versions of some libraries
(libltc, rubberband, taglib, vamp-sdk)
2013-10-28 09:06:09 +01:00
17dc72d08e silence warning for ancient libc users&devs :)
string.h 'index' is a global declaration
marked legacy in 2001 and removed in posix.1-2008
2013-10-27 17:03:49 +01:00
2cad99bf39 add notes about inlined lv2 atom/util.h functions 2013-10-27 09:56:07 +01:00
be6d6231fb expand tabs in reaonablesynth code 2013-10-27 09:52:46 +01:00
caa7c3b579 mark some unused variables -- fewer compiler warnings 2013-10-27 09:51:08 +01:00
dcd6103231 make reasonable synth a bit more piano-like.
(overtone + decay time)
2013-10-26 17:33:07 +02:00
e451411719 remove c99'ness from rsynth.c - should fix #5751 2013-10-26 16:42:27 +02:00
5ebc4a99be don't request redraw of a Canvas item if it marked invisible 2013-10-25 13:29:23 -04:00
ecd29c6d70 add Item::redraw() convenience method 2013-10-24 17:54:54 -04:00
c3f1369cfd expand bounding box of all objects by 0.5 before computing intersection for render cycle; alter debug output 2013-10-24 17:14:12 -04:00
c21ed2b877 fix drawing of a canvas LineSet object 2013-10-24 17:13:22 -04:00
9d2e4fbec6 fix computation of rectangle bounding box 2013-10-24 17:13:03 -04:00
097b781209 fix computation of canvas text item bounding box 2013-10-24 17:12:28 -04:00
cfafa610f0 fix MMC
MTC and MIDI Clock port input handling was moved into the process/RT thread(s) during audioengine work, but MMC was
left orphaned. Add it to the port(s) handled by the MIDI UI thread.

Also, remove PortChange request from MidiUI because it has no meaning anymore
2013-10-23 15:38:02 -04:00
a18db90264 Report an error to stderr if creation of jack command line fails.
Output a simple message to stderr if get_jack_command_line_string() still
fails for any reason.
2013-10-23 19:32:54 +01:00
70f0cfdb3b Don't ever pass -d for device name to dummy jackd driver 2013-10-23 19:32:54 +01:00
903d728b9c Fix setting playback & capture channel counts for jackd dummy backend.
Unlike all the other jack backends which allow setting the number of inputs and
outputs with -i & -o, the dummy backend uses -P & -C for this. Make the jackd
command line use these options when the dummy backend is requested with a
specified input or output channel count.
2013-10-23 19:29:57 +01:00
ac81ea642e Don't fail jackd command line creation for jack dummy backend.
The dummy jackd backend doesn't require a device to be specified, so much
of the error checking in get_jack_command_line_string() is irrelevant, if
not actively wrong, when the dummy backend is specified.

Only perform the checks if the chosen jack backend is not the dummy.
2013-10-23 19:27:09 +01:00
4316eda89f remove fuzzy and obsolete translations 2013-10-23 20:01:23 +02:00
da1a9bbade make fixed IO ports untranslatable
Outdated and fuzzy translations of MTC, MTC, LTC, etc caused
various issues (duplicate jack port names, exceptions, crashes).
Functionality should not be affected by translations (for now).
2013-10-23 19:59:26 +02:00
20c20b7ddf Fix midi-note length when quantizing a swing rhythm
Note: 'swing' probably requires a 2nd iteration:
first quantize notes to the grid, then apply beat shift.
2013-10-23 19:59:26 +02:00
5ea6b4420b slightly more information in group render DEBUG_TRACE output 2013-10-23 10:39:26 -04:00
nick_m
be69bf15dd New routes are placed after highest selected route. 2013-10-24 01:27:13 +11:00
d135c4dc3a fix merge conflicts with master 2013-10-23 08:47:57 -04:00
75271a17d8 relax requirement on lv2 stack 2013-10-23 13:45:28 +02:00
192f22d89e fix confusion in Canvas::LineSet over window vs. item coordinates that affected redraw (or not) of MIDI track note lines when the canvas origin != 0 2013-10-22 21:12:47 -04:00