David Robillard [Sun, 30 Nov 2014 23:51:24 +0000 (18:51 -0500)]
Move EventRingBuffer to libardour.
This is not used anywhere in Evoral and is just a wrapper around the PBD
RingBuffer anyway. Towards a (once again?) independently buildable/testable
Evoral and fewer cross-dependencies.
David Robillard [Sun, 30 Nov 2014 23:27:04 +0000 (18:27 -0500)]
Add missing namespace qualifiers.
David Robillard [Sun, 30 Nov 2014 23:33:22 +0000 (18:33 -0500)]
Clean up state tracking of raw MIDI.
David Robillard [Sun, 30 Nov 2014 21:24:18 +0000 (16:24 -0500)]
Factor out duplicated track automation code.
Mute automation for MIDI tracks.
David Robillard [Sun, 30 Nov 2014 19:48:35 +0000 (14:48 -0500)]
Save mute automation state.
Robin Gareus [Sun, 30 Nov 2014 23:33:11 +0000 (00:33 +0100)]
update interface for processor-box faders step/page
see also
4d4c20b8c
Robin Gareus [Sun, 30 Nov 2014 20:26:55 +0000 (21:26 +0100)]
CLA approved consistent fine-grained scale modifier
John Emmas [Sun, 30 Nov 2014 17:57:44 +0000 (17:57 +0000)]
Process 'default_ui_config.in' when building with MSVC
Robin Gareus [Sun, 30 Nov 2014 14:04:56 +0000 (15:04 +0100)]
gtk interface update for controller step/page size
Robin Gareus [Sun, 30 Nov 2014 14:04:03 +0000 (15:04 +0100)]
consistent step+page sizes for fader+spinbox
Robin Gareus [Sun, 30 Nov 2014 14:03:36 +0000 (15:03 +0100)]
use update_steps() instead of custom function
Robin Gareus [Sun, 30 Nov 2014 14:02:53 +0000 (15:02 +0100)]
update_steps(), properly handle integer ranges
Robin Gareus [Sat, 29 Nov 2014 21:57:46 +0000 (22:57 +0100)]
fix ladpsa default value.
because get_parameter_descriptor() is const, also wrap
default_value() in a const function.
Robin Gareus [Sat, 29 Nov 2014 21:24:24 +0000 (22:24 +0100)]
fix LV2 default port value.
David Robillard [Sat, 29 Nov 2014 19:32:12 +0000 (14:32 -0500)]
Fix write for boolean automation.
Robin Gareus [Sat, 29 Nov 2014 16:31:41 +0000 (17:31 +0100)]
don't move faders on click.
for one, it can mess up the value when switching to
numeric-entry. It is also rather useless and not
Fader-like (faders are not scrollbars).
Besides, "stepvalue" is way to large and causes jumps
(sometimes step-value is even negative, see
"fast lookahead limiter", "release time"
-> some other bug)
Robin Gareus [Sat, 29 Nov 2014 13:49:03 +0000 (14:49 +0100)]
show values on faders (fixes bug in
55c6165)
Robin Gareus [Sat, 29 Nov 2014 00:35:49 +0000 (01:35 +0100)]
change ownership of processor window-proxy
fixes crashes:
* If the Editor-Mixer shows a channel with a plugin that
has been edited in the Mixer, double-clicking the plugin
will try to bring up a 2nd instance of the plugin-UI.
* When closing Ardour both the Mixer and the Editor-Mixer try to delete the underlying plugin, resulting in a double free.
David Robillard [Sat, 29 Nov 2014 06:40:23 +0000 (01:40 -0500)]
Set discrete by default for boolean parameters.
David Robillard [Sat, 29 Nov 2014 06:25:27 +0000 (01:25 -0500)]
Somewhat working gain automation.
This probably isn't correct in several ways, but it works more than it did, so
I figure it's push worthy.
Still not working:
* Saving mute automation list
* Dragged control points are not snapped to model restrictions
(boolean, in this case, but general problem)
* Line goes funny if you record mute automation
(as opposed to drawing it which works)
David Robillard [Sat, 29 Nov 2014 00:17:39 +0000 (19:17 -0500)]
Show discrete/toggled automation as stepped line.
David Robillard [Sat, 29 Nov 2014 01:03:16 +0000 (20:03 -0500)]
Fix crash when deleting all points from a line.
David Robillard [Fri, 28 Nov 2014 23:40:23 +0000 (18:40 -0500)]
Use a button as controller for toggled parameters.
David Robillard [Fri, 28 Nov 2014 23:31:18 +0000 (18:31 -0500)]
Remove redundant calls to start/end_touch.
The controllers do this automatically.
David Robillard [Fri, 28 Nov 2014 23:04:51 +0000 (18:04 -0500)]
Set the toggled default metadata of parameters.
This is so generic code looking at the Parameter for gain, solo, and
rec-enable will get the correct value for toggled.
John Emmas [Fri, 28 Nov 2014 14:43:34 +0000 (14:43 +0000)]
Add some newly introduced header files to our MSVC project (gtk2_ardour)
John Emmas [Fri, 28 Nov 2014 14:42:17 +0000 (14:42 +0000)]
Add some newly introduced source files to our MSVC project (cairocanvas)
Robin Gareus [Fri, 28 Nov 2014 02:41:49 +0000 (03:41 +0100)]
change extention of linux installers to .run
David Robillard [Thu, 27 Nov 2014 09:17:15 +0000 (04:17 -0500)]
Remove dead code.
David Robillard [Thu, 27 Nov 2014 09:15:30 +0000 (04:15 -0500)]
Fix calculation using uninitialized value.
Implicit "this" is the devil.
Paul Davis [Mon, 24 Nov 2014 20:21:19 +0000 (22:21 +0200)]
remove "port sources" management from MidiControlUI and Mackie support.
This was necessary due to a bug/design issue between Glibmm and Glib (see https://bugzilla.gnome.org/show_bug.cgi?id=561885)
but the problem needs to be managed by the *creator* of the IOSource and that has now moved inside CrossThreadChannel.
Paul Davis [Fri, 21 Nov 2014 00:49:10 +0000 (19:49 -0500)]
variable name change for slightly increased clarity
Paul Davis [Thu, 20 Nov 2014 19:01:41 +0000 (14:01 -0500)]
get correct ::distance() and ::delta() implementations for cases involving achromatics
Paul Davis [Thu, 20 Nov 2014 19:01:12 +0000 (14:01 -0500)]
continue tweaks on the color road
Paul Davis [Thu, 20 Nov 2014 19:00:37 +0000 (14:00 -0500)]
newly generated, quantized-hue relative color definitions
Paul Davis [Thu, 20 Nov 2014 19:00:13 +0000 (14:00 -0500)]
add back grays
Paul Davis [Wed, 19 Nov 2014 19:01:04 +0000 (14:01 -0500)]
add default values for base colors (configurable colors) to default_ui_config.in
Paul Davis [Wed, 19 Nov 2014 19:00:42 +0000 (14:00 -0500)]
save base colors (configurable colors) in normal way (code had been removed)
Paul Davis [Wed, 19 Nov 2014 18:14:26 +0000 (13:14 -0500)]
massive reworking of color selection implementation
Paul Davis [Wed, 19 Nov 2014 18:12:06 +0000 (13:12 -0500)]
move creation of UIConfiguration object to precede creation of ArdourUI.
This is pretty kludgy but we need the UIConfiguration object (or any color management object) to be the first to connect to
the ColorsChanged signal.
Might be better to make the UIConfiguration object a delegate for the ThemeManager.
Paul Davis [Thu, 13 Nov 2014 21:55:32 +0000 (16:55 -0500)]
ensure that Ardour recognizes its own MMC device ID as "all-call" when set to 0x7f (127)
Tim Mayberry [Mon, 24 Nov 2014 05:46:35 +0000 (12:46 +0700)]
Replace individual waf options for enabling backends with one --with-backends option
John Emmas [Wed, 26 Nov 2014 09:57:14 +0000 (09:57 +0000)]
With printf() / snprintf() etc "%f" actually requests a double, not a float
Let's pass the correct type, since we can't rely on these functions to do intelligent conversion
Colin Fletcher [Tue, 25 Nov 2014 17:49:51 +0000 (17:49 +0000)]
Add test for Evoral::coverage()
Add a test function to test Evoral::coverage() with all possible overlap
types. The first test (line 161) that expects OverlapExternal will fail
with the current implementation of coverage().
There's possibly still a discussion to be had about what the overlap type of
ranges with negative lengths should be: there are currently places in the main
Ardour code base where coverage() is called with ranges where start > end.
Colin Fletcher [Mon, 24 Nov 2014 15:10:50 +0000 (15:10 +0000)]
Fix build of evoral tests
Fix compile errors in libs/evoral/test/, by explicitly calling
Evoral::MusicalTime::to_double() wherever a double value is required of a
MusicalTime.
Some of the double variables should probably really be made into MusicalTime
ones instead, but I don't want to mess with this too much.
takeFiveTest still fails for me after this, but a failing test is probably
more informative in the long run than a test that won't even compile.
Colin Fletcher [Sun, 23 Nov 2014 19:01:46 +0000 (19:01 +0000)]
Fix order of parameters to stop_touch() in Mackie::Control
Reverse the parameters of Mackie::Control::stop_touch() to make them
consistent with AutomationControl::stop_touch(), and fix up the call to
AutomationControl::stop_touch() to have the parameters in the correct
order.
Unfortunately, I don't possess any devices that speak the Mackie protocol, so
though the patch seems logical and correct to me, I have no way of testing it.
If anyone has a device with touch faders that speaks Mackie, I'd be glad of any
confirmation that it at least doesn't break anything.
Robin Gareus [Tue, 25 Nov 2014 13:06:15 +0000 (14:06 +0100)]
Revert "Don't add non-clang flag regardless of platform."
Apple's g++ on 10.6. does not understand -Wno-unused-local-typedefs
either
This reverts commit
9dd8024e41f35e581b3db5f4a873126398db9d45.
Paul Davis [Tue, 25 Nov 2014 10:17:14 +0000 (12:17 +0200)]
fix indentation nightmare from
9559cf3947
Paul Davis [Tue, 25 Nov 2014 10:13:23 +0000 (12:13 +0200)]
fix case of included header file
VKamyshniy [Mon, 24 Nov 2014 22:28:33 +0000 (00:28 +0200)]
[Summary] Fixing behavior of the FloatingTextEntry
Robin Gareus [Tue, 25 Nov 2014 09:35:50 +0000 (10:35 +0100)]
quick sanity check
Robin Gareus [Tue, 25 Nov 2014 09:23:10 +0000 (10:23 +0100)]
NOOP, fix some “missing sentinel” -Wformat
David Robillard [Tue, 25 Nov 2014 07:20:21 +0000 (02:20 -0500)]
Check for clang with an actual code check.
Turns out Apple in its infinite wisdom installs clang as /usr/bin/g++, so
guessing based on executable name doesn't work.
David Robillard [Tue, 25 Nov 2014 07:11:44 +0000 (02:11 -0500)]
Remove dead code.
David Robillard [Tue, 25 Nov 2014 07:08:35 +0000 (02:08 -0500)]
Shup up clang about gtkmm/papertraits.h.
David Robillard [Tue, 25 Nov 2014 07:07:40 +0000 (02:07 -0500)]
Don't add non-clang flag regardless of platform.
David Robillard [Tue, 25 Nov 2014 07:07:07 +0000 (02:07 -0500)]
Fix clang check for versioned clang executables.
Paul Davis [Mon, 24 Nov 2014 19:58:56 +0000 (21:58 +0200)]
when dragging on the canvas, use x,y pointer coordinates to decide if motion has occured.
Using _last_pointer_frame breaks when dragging to the left of the canvas, because we clamp
the value of the frame to >= 0. Motion would step once the pointer crossed the left edge
of the canvas because the frame value would always be zero.
This is not a problem when using the pointer x,y values which end up appropriately negative
under all conditions.
Robin Gareus [Mon, 24 Nov 2014 19:35:38 +0000 (20:35 +0100)]
fix OSX open URL in browser
John Emmas [Mon, 24 Nov 2014 13:01:16 +0000 (13:01 +0000)]
Add a newly introduced header file to our MSVC project (gtk2_ardour)
John Emmas [Mon, 24 Nov 2014 12:58:26 +0000 (12:58 +0000)]
Now that we're building pango's language modules statically (i.e. no longer as DLLs) it's not necessary to edit the user's 'pango.modules' file
John Emmas [Mon, 24 Nov 2014 12:56:07 +0000 (12:56 +0000)]
Simulate 'trunc()' which isn't available in MSVC
(needed by 'gtk2_ardour/editor.cc')
John Emmas [Mon, 24 Nov 2014 12:53:24 +0000 (12:53 +0000)]
Remove a commented out line in 'pbd/stacktrace.h'
(was probably just needed for testing at some stage)
John Emmas [Mon, 24 Nov 2014 12:51:54 +0000 (12:51 +0000)]
Changes needed to accommodate building libevoral with MSVC
Note that class 'MusicalTime' needn't be exportable (with a little work, this could be reverted if it affects the other builds)
Robin Gareus [Mon, 24 Nov 2014 03:56:31 +0000 (04:56 +0100)]
waf is fun
Robin Gareus [Mon, 24 Nov 2014 03:24:58 +0000 (04:24 +0100)]
OSX gcc does not support local-typedef warning
Robin Gareus [Mon, 24 Nov 2014 00:43:31 +0000 (01:43 +0100)]
also search for 32bit xjadeo on 64bit windows
Robin Gareus [Sun, 23 Nov 2014 23:04:45 +0000 (00:04 +0100)]
Robin Gareus [Sun, 23 Nov 2014 23:00:58 +0000 (00:00 +0100)]
lost quote
Robin Gareus [Sun, 23 Nov 2014 22:56:39 +0000 (23:56 +0100)]
hotfix windows-compilation (unfinished
bfe49540b9)
..at least it compiles and starts. Mackie support etc
is probably still broken.
Robin Gareus [Sun, 23 Nov 2014 22:55:41 +0000 (23:55 +0100)]
update harvid & ffmpeg binary path discovery on windows (64 & 32 bit)
Robin Gareus [Sun, 23 Nov 2014 22:37:21 +0000 (23:37 +0100)]
make debug message more useful
Robin Gareus [Sun, 23 Nov 2014 21:04:32 +0000 (22:04 +0100)]
fix/silence various compiler warnings.
* ifdef unused static functions
* brackets around assignment and comparision
* no return statement in function returning non-void
* boost concept_checks.hpp unused-local-typedefs
David Robillard [Sun, 23 Nov 2014 21:30:09 +0000 (16:30 -0500)]
Fix build with a certain awful broken compiler.
Robin Gareus [Sun, 23 Nov 2014 20:01:06 +0000 (21:01 +0100)]
-Wunused-function on windows
Robin Gareus [Sun, 23 Nov 2014 19:56:03 +0000 (20:56 +0100)]
use NULL not 0 for c-functions (even in c++ code)
4.3 KBytes less compiler warnings.
Paul Davis [Sun, 23 Nov 2014 15:37:13 +0000 (17:37 +0200)]
remove use of CrossThreadChannel::selectable() to allow cross-platform implementation of CrossThreadChannel via Glib::IOSource
Paul Davis [Sun, 23 Nov 2014 12:34:46 +0000 (14:34 +0200)]
assign minsec_ruler_scale and minsec_mark_modulo when zoomed very far out
Avoids crash when computing % minsec_mark_modulo.
David Robillard [Sun, 23 Nov 2014 02:49:42 +0000 (21:49 -0500)]
Fix quantization and other time-related ops.
David Robillard [Sat, 22 Nov 2014 21:33:32 +0000 (16:33 -0500)]
Max is max and min is min and I am dumb.
David Robillard [Sat, 22 Nov 2014 20:33:40 +0000 (15:33 -0500)]
Fix note resizing.
David Robillard [Sat, 22 Nov 2014 20:26:41 +0000 (15:26 -0500)]
Fix clang and MSVC build.
David Robillard [Sat, 22 Nov 2014 09:39:30 +0000 (04:39 -0500)]
Fix invisible discrete control points.
David Robillard [Sat, 22 Nov 2014 09:05:42 +0000 (04:05 -0500)]
Wrap MusicalTime in a class.
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
David Robillard [Sat, 22 Nov 2014 05:44:48 +0000 (00:44 -0500)]
Fix assert failure in control list interpolation.
How we never hit this before is beyond me, it's in some ooooold code.
David Robillard [Fri, 21 Nov 2014 07:49:41 +0000 (02:49 -0500)]
Fix const violation warnings in tempo.cc.
David Robillard [Fri, 21 Nov 2014 07:37:42 +0000 (02:37 -0500)]
Factor out copy-paste code to get grid type in beats defaulting to 1.
David Robillard [Thu, 20 Nov 2014 22:36:09 +0000 (17:36 -0500)]
Move time converters only to the region views that actually need them.
A step towards sorting out time issues more solidly, the time situation of MIDI
region views and automation region views is slightly different.
Robin Gareus [Fri, 21 Nov 2014 22:12:17 +0000 (23:12 +0100)]
add a variable to specify windows build concurrency
David Robillard [Thu, 20 Nov 2014 20:36:11 +0000 (15:36 -0500)]
Fix lost MIDI note offs and controllers.
Fix initial read of discrete MIDI controllers.
Fix spurious note offs when starting to play in the middle of a note.
Faster search for initial event when cached iterator is invalid.
So much for dropping the cached iterator. The iterator is responsible for
handling note offs, so that doesn't work. This design means we have some stuck
note issues at the source read level, but they should be taken care of by the
state tracker anyway.
David Robillard [Thu, 20 Nov 2014 20:32:06 +0000 (15:32 -0500)]
Reduce unnecessary non-const MIDI buffer access.
David Robillard [Thu, 20 Nov 2014 17:01:39 +0000 (12:01 -0500)]
Use memento_command_binder() to (probably) fix MSVC build and other things.
Remove ugly hack that does the same thing.
David Robillard [Thu, 20 Nov 2014 01:47:18 +0000 (20:47 -0500)]
Clean up some MIDI code.
David Robillard [Thu, 20 Nov 2014 01:46:03 +0000 (20:46 -0500)]
Remove unused variables.
Robin Gareus [Thu, 20 Nov 2014 01:46:30 +0000 (02:46 +0100)]
debug trace lost midi-messages
David Robillard [Thu, 20 Nov 2014 00:24:07 +0000 (19:24 -0500)]
Fix dropped MIDI events, especially with record enabled.
I am not precisely sure why the cached iterator was causing this problem, it
shouldn't be invalidated, and the times make sense. It may be some lock
related issue since the iterator holds a lock on the source.
In any case, this cached iterator was just to avoid repeated linear search of
the model, but since the model has a logarithmic search, instead just scrap all
this problematic persistent state and search for the appropriate start time
every read. No need to be careful about invalidating when anything changes.
Ben Loftis [Wed, 19 Nov 2014 23:27:13 +0000 (17:27 -0600)]
fix range selection of mixer strips; shift+selecting a single strip would select from there til the end
Robin Gareus [Wed, 19 Nov 2014 19:38:50 +0000 (20:38 +0100)]
some const'ness and hints for clang
Robin Gareus [Tue, 18 Nov 2014 22:39:35 +0000 (23:39 +0100)]
copy hotspots file when packaging windows cursors
Robin Gareus [Tue, 18 Nov 2014 22:39:00 +0000 (23:39 +0100)]
also load hotspot file (if it exists) for default cursors