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