ardour.git
9 years agoalso search for 32bit xjadeo on 64bit windows
Robin Gareus [Mon, 24 Nov 2014 00:43:31 +0000 (01:43 +0100)]
also search for 32bit xjadeo on 64bit windows

9 years agoamend c4533939b9
Robin Gareus [Sun, 23 Nov 2014 23:04:45 +0000 (00:04 +0100)]
amend c4533939b9

9 years agolost quote
Robin Gareus [Sun, 23 Nov 2014 23:00:58 +0000 (00:00 +0100)]
lost quote

9 years agohotfix windows-compilation (unfinished bfe49540b9)
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.

9 years agoupdate harvid & ffmpeg binary path discovery on windows (64 & 32 bit)
Robin Gareus [Sun, 23 Nov 2014 22:55:41 +0000 (23:55 +0100)]
update harvid & ffmpeg binary path discovery on windows (64 & 32 bit)

9 years agomake debug message more useful
Robin Gareus [Sun, 23 Nov 2014 22:37:21 +0000 (23:37 +0100)]
make debug message more useful

9 years agofix/silence various compiler warnings.
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

9 years agoFix build with a certain awful broken compiler.
David Robillard [Sun, 23 Nov 2014 21:30:09 +0000 (16:30 -0500)]
Fix build with a certain awful broken compiler.

9 years ago-Wunused-function on windows
Robin Gareus [Sun, 23 Nov 2014 20:01:06 +0000 (21:01 +0100)]
-Wunused-function on windows

9 years agouse NULL not 0 for c-functions (even in c++ code)
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.

9 years agoremove use of CrossThreadChannel::selectable() to allow cross-platform implementation...
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

9 years agoassign minsec_ruler_scale and minsec_mark_modulo when zoomed very far out
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.

9 years agoFix quantization and other time-related ops.
David Robillard [Sun, 23 Nov 2014 02:49:42 +0000 (21:49 -0500)]
Fix quantization and other time-related ops.

9 years agoMax is max and min is min and I am dumb.
David Robillard [Sat, 22 Nov 2014 21:33:32 +0000 (16:33 -0500)]
Max is max and min is min and I am dumb.

9 years agoFix note resizing.
David Robillard [Sat, 22 Nov 2014 20:33:40 +0000 (15:33 -0500)]
Fix note resizing.

9 years agoFix clang and MSVC build.
David Robillard [Sat, 22 Nov 2014 20:26:41 +0000 (15:26 -0500)]
Fix clang and MSVC build.

9 years agoFix invisible discrete control points.
David Robillard [Sat, 22 Nov 2014 09:39:30 +0000 (04:39 -0500)]
Fix invisible discrete control points.

9 years agoWrap MusicalTime in a class.
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.

9 years agoFix assert failure in control list interpolation.
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.

9 years agoFix const violation warnings in tempo.cc.
David Robillard [Fri, 21 Nov 2014 07:49:41 +0000 (02:49 -0500)]
Fix const violation warnings in tempo.cc.

9 years agoFactor out copy-paste code to get grid type in beats defaulting to 1.
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.

9 years agoMove time converters only to the region views that actually need them.
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.

9 years agoadd a variable to specify windows build concurrency
Robin Gareus [Fri, 21 Nov 2014 22:12:17 +0000 (23:12 +0100)]
add a variable to specify windows build concurrency

9 years agoFix lost MIDI note offs and controllers.
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.

9 years agoReduce unnecessary non-const MIDI buffer access.
David Robillard [Thu, 20 Nov 2014 20:32:06 +0000 (15:32 -0500)]
Reduce unnecessary non-const MIDI buffer access.

9 years agoUse memento_command_binder() to (probably) fix MSVC build and other things.
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.

9 years agoClean up some MIDI code.
David Robillard [Thu, 20 Nov 2014 01:47:18 +0000 (20:47 -0500)]
Clean up some MIDI code.

9 years agoRemove unused variables.
David Robillard [Thu, 20 Nov 2014 01:46:03 +0000 (20:46 -0500)]
Remove unused variables.

9 years agodebug trace lost midi-messages
Robin Gareus [Thu, 20 Nov 2014 01:46:30 +0000 (02:46 +0100)]
debug trace lost midi-messages

9 years agoFix dropped MIDI events, especially with record enabled.
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.

9 years agofix range selection of mixer strips; shift+selecting a single strip would select...
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

9 years agosome const'ness and hints for clang
Robin Gareus [Wed, 19 Nov 2014 19:38:50 +0000 (20:38 +0100)]
some const'ness and hints for clang

9 years agocopy hotspots file when packaging windows cursors
Robin Gareus [Tue, 18 Nov 2014 22:39:35 +0000 (23:39 +0100)]
copy hotspots file when packaging windows cursors

9 years agoalso load hotspot file (if it exists) for default cursors
Robin Gareus [Tue, 18 Nov 2014 22:39:00 +0000 (23:39 +0100)]
also load hotspot file (if it exists) for default cursors

9 years agoallow dummy backend for any product
Ben Loftis [Tue, 18 Nov 2014 23:04:23 +0000 (17:04 -0600)]
allow dummy backend for any product

9 years agofix windows icon deply path
Robin Gareus [Tue, 18 Nov 2014 21:32:06 +0000 (22:32 +0100)]
fix windows icon deply path

9 years agodrop hotspot info when changing cursors.
Robin Gareus [Tue, 18 Nov 2014 21:11:12 +0000 (22:11 +0100)]
drop hotspot info when changing cursors.

9 years agodeploy square cursors as default for windows
Robin Gareus [Tue, 18 Nov 2014 21:08:51 +0000 (22:08 +0100)]
deploy square cursors as default for windows

9 years agoadd square cursors (for windows)
Robin Gareus [Tue, 18 Nov 2014 21:00:58 +0000 (22:00 +0100)]
add square cursors (for windows)

cursor icons squared with north-west gravity.
hotspots are identical to original icons.

otherwise gdkcursor-win32 creates square cursors with
center gravity and hotspot X/Y differs.

9 years agotabs are tabs and spaces are spaces
Robin Gareus [Tue, 18 Nov 2014 20:59:28 +0000 (21:59 +0100)]
tabs are tabs and spaces are spaces

see http://ardour.org/styleguide.html #26

9 years agoassert no null pointer dereference
Robin Gareus [Tue, 18 Nov 2014 20:59:04 +0000 (21:59 +0100)]
assert no null pointer dereference

9 years agoPlugin Automation All: Fix bug where Switches weren't being changed.
Jeremy Carter [Sat, 15 Nov 2014 01:34:05 +0000 (20:34 -0500)]
Plugin Automation All: Fix bug where Switches weren't being changed.

9 years agoMake MIDI channel selector rows/col constraints actually do something.
David Robillard [Tue, 18 Nov 2014 07:52:56 +0000 (02:52 -0500)]
Make MIDI channel selector rows/col constraints actually do something.

Seems kind of pointless since it's always 4 anyway, but whatever.

9 years agoAvoid possible use of uninitialized values.
David Robillard [Tue, 18 Nov 2014 07:37:30 +0000 (02:37 -0500)]
Avoid possible use of uninitialized values.

This could only happen with a broken widget, but it shuts up clang and doesn't
hurt.

9 years agoRemove obviously dead/redundant code.
David Robillard [Tue, 18 Nov 2014 07:36:28 +0000 (02:36 -0500)]
Remove obviously dead/redundant code.

9 years agoClean up funny code and initialize variables.
David Robillard [Tue, 18 Nov 2014 07:35:35 +0000 (02:35 -0500)]
Clean up funny code and initialize variables.

9 years agoConstrain variable scopen and avoid uninitialized values existing at all.
David Robillard [Tue, 18 Nov 2014 07:34:18 +0000 (02:34 -0500)]
Constrain variable scopen and avoid uninitialized values existing at all.

Note: dead assignments trigger scan-build dead code warnings, which
initializations do not.

9 years agoRemove unused variable and redundant arithmetic.
David Robillard [Tue, 18 Nov 2014 07:31:54 +0000 (02:31 -0500)]
Remove unused variable and redundant arithmetic.

9 years agoGracefully avoid importing audio that somehow has 0 channels.
David Robillard [Tue, 18 Nov 2014 07:29:50 +0000 (02:29 -0500)]
Gracefully avoid importing audio that somehow has 0 channels.

9 years agoFix potential use of uninitialized value.
David Robillard [Tue, 18 Nov 2014 07:27:25 +0000 (02:27 -0500)]
Fix potential use of uninitialized value.

9 years agoFix NULL pointer dereference on malformed Playlist XML.
David Robillard [Tue, 18 Nov 2014 07:26:56 +0000 (02:26 -0500)]
Fix NULL pointer dereference on malformed Playlist XML.

9 years agoAvoid potential division by zero.
David Robillard [Tue, 18 Nov 2014 07:26:37 +0000 (02:26 -0500)]
Avoid potential division by zero.

9 years agoFix broken logic and possible NULL pointer dereference for Bundle XML.
David Robillard [Tue, 18 Nov 2014 07:25:02 +0000 (02:25 -0500)]
Fix broken logic and possible NULL pointer dereference for Bundle XML.

9 years agoFix incredibly unlikely NULL pointer dereference.
David Robillard [Tue, 18 Nov 2014 07:23:49 +0000 (02:23 -0500)]
Fix incredibly unlikely NULL pointer dereference.

9 years agoFix Region::verify_length() so it actually does something.
David Robillard [Tue, 18 Nov 2014 07:23:28 +0000 (02:23 -0500)]
Fix Region::verify_length() so it actually does something.

9 years agoFix incredibly unlikely NULL pointer dereference.
David Robillard [Tue, 18 Nov 2014 07:22:44 +0000 (02:22 -0500)]
Fix incredibly unlikely NULL pointer dereference.

9 years agoFix zoom out limiting logic to actually limit minimum zoom.
David Robillard [Tue, 18 Nov 2014 07:22:06 +0000 (02:22 -0500)]
Fix zoom out limiting logic to actually limit minimum zoom.

9 years agoFix mismatched note resize drag cursor and behaviour.
David Robillard [Tue, 18 Nov 2014 07:20:38 +0000 (02:20 -0500)]
Fix mismatched note resize drag cursor and behaviour.

9 years agoFix edit point selector on Mixbus.
David Robillard [Tue, 18 Nov 2014 07:19:03 +0000 (02:19 -0500)]
Fix edit point selector on Mixbus.

9 years agoremove cruft
Robin Gareus [Tue, 18 Nov 2014 05:15:22 +0000 (06:15 +0100)]
remove cruft

9 years agoamend 484e38053
Robin Gareus [Tue, 18 Nov 2014 04:28:27 +0000 (05:28 +0100)]
amend 484e38053

9 years agosilence clang "dead assignment" warnings
Robin Gareus [Tue, 18 Nov 2014 03:46:37 +0000 (04:46 +0100)]
silence clang "dead assignment" warnings

9 years agosynchronize preferences and monitor-section
Robin Gareus [Tue, 18 Nov 2014 02:49:20 +0000 (03:49 +0100)]
synchronize preferences and monitor-section

9 years agofiles should have at least one channel.
Robin Gareus [Tue, 18 Nov 2014 01:13:15 +0000 (02:13 +0100)]
files should have at least one channel.

9 years agoremove cruft (monitor section knobs are cairo now)
Robin Gareus [Tue, 18 Nov 2014 01:09:09 +0000 (02:09 +0100)]
remove cruft (monitor section knobs are cairo now)

9 years agoNOOP, re-indent and remove trailing whitespace
Robin Gareus [Tue, 18 Nov 2014 00:39:57 +0000 (01:39 +0100)]
NOOP, re-indent and remove trailing whitespace

9 years agoremove dead assignment
Robin Gareus [Tue, 18 Nov 2014 00:09:18 +0000 (01:09 +0100)]
remove dead assignment

9 years agoremove superfluous if-branch (_session is checked a few lines above)
Robin Gareus [Tue, 18 Nov 2014 00:09:00 +0000 (01:09 +0100)]
remove superfluous if-branch  (_session is checked a few lines above)

9 years agoFix "maybe" rounding bug.
David Robillard [Tue, 18 Nov 2014 00:53:30 +0000 (19:53 -0500)]
Fix "maybe" rounding bug.

Introduced in d63161426f256c293c92b73f1be4b375f962d298.

9 years agowaves/coreaudio PPC support
Robin Gareus [Mon, 17 Nov 2014 08:07:39 +0000 (09:07 +0100)]
waves/coreaudio PPC support

9 years agoOSX packaging:
Robin Gareus [Mon, 17 Nov 2014 06:49:16 +0000 (07:49 +0100)]
OSX packaging:

* postfix DMG with "-dbg" if not optimized.
* strip binary and libs if optimized

9 years agocheck alsa midi ringbuffer
Robin Gareus [Mon, 17 Nov 2014 05:41:01 +0000 (06:41 +0100)]
check alsa midi ringbuffer

9 years agoFix visibility of MIDI controller automation tracks across saves.
David Robillard [Mon, 17 Nov 2014 05:13:53 +0000 (00:13 -0500)]
Fix visibility of MIDI controller automation tracks across saves.

Fix some inaccurate/misleading comments that led to said bug.

Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.

9 years agoDon't hide selected control points.
David Robillard [Mon, 17 Nov 2014 03:46:59 +0000 (22:46 -0500)]
Don't hide selected control points.

There was already code for this, but actually setting the corresponding
visibility flags seems to have been lost at some point.

9 years agoSupport cut/copy/paste of MIDI notes and controllers at the same time.
David Robillard [Mon, 17 Nov 2014 03:35:37 +0000 (22:35 -0500)]
Support cut/copy/paste of MIDI notes and controllers at the same time.

9 years agoSupport cut/copy/paste of several regions and lines at once.
David Robillard [Sun, 16 Nov 2014 22:04:27 +0000 (17:04 -0500)]
Support cut/copy/paste of several regions and lines at once.

The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type.  The user
can override this with a track selection, which will be used straight-up.

Lost: ability to copy/paste lines across types, e.g. gain to pan.  This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible.  Implementation simple, but not sure
what to do.  Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?

9 years agoDon't add spurious points when copy/pasting automation.
David Robillard [Sun, 16 Nov 2014 21:48:15 +0000 (16:48 -0500)]
Don't add spurious points when copy/pasting automation.

9 years agoReset repeated paste state on cut/copy.
David Robillard [Sun, 16 Nov 2014 07:51:18 +0000 (02:51 -0500)]
Reset repeated paste state on cut/copy.

9 years agoDon't add origin value to MIDI controller regions on initial insert.
David Robillard [Sun, 16 Nov 2014 07:09:33 +0000 (02:09 -0500)]
Don't add origin value to MIDI controller regions on initial insert.

This should probably hijack the same modifier as the guard points and work the
same on all automation tracks, but I did it this way to not change behaviour of
track automation where a default is much more reasonable.

9 years agoAdd "maybe" rounding modes for rounding only if necessary.
David Robillard [Sun, 16 Nov 2014 07:01:02 +0000 (02:01 -0500)]
Add "maybe" rounding modes for rounding only if necessary.

9 years agoUse an enum for RoundMode instead of magic numbers.
David Robillard [Sun, 16 Nov 2014 06:05:21 +0000 (01:05 -0500)]
Use an enum for RoundMode instead of magic numbers.

No functional changes in this one (for easier auditing), but towards having
round up/down only if necessary modes, rather than kludging around that
situation with a double round as we do currently.

9 years agoMake selected control points bright red rather than vice-versa.
David Robillard [Sun, 16 Nov 2014 03:42:51 +0000 (22:42 -0500)]
Make selected control points bright red rather than vice-versa.

9 years agoMake ControlList::paste const-correct.
David Robillard [Sat, 15 Nov 2014 23:53:53 +0000 (18:53 -0500)]
Make ControlList::paste const-correct.

9 years agoUse symbol for paste operation like everywhere else.
David Robillard [Sat, 15 Nov 2014 21:32:08 +0000 (16:32 -0500)]
Use symbol for paste operation like everywhere else.

9 years agoFix crash when splitting regions in internal edit mode.
David Robillard [Sat, 15 Nov 2014 20:56:56 +0000 (15:56 -0500)]
Fix crash when splitting regions in internal edit mode.

9 years agoprevent segfault if in/out property is missing
Robin Gareus [Mon, 17 Nov 2014 03:05:00 +0000 (04:05 +0100)]
prevent segfault if in/out property is missing

9 years agoNULL pointer dereference?
Robin Gareus [Mon, 17 Nov 2014 02:58:05 +0000 (03:58 +0100)]
NULL pointer dereference?

9 years agoadd some assert() messages.
Robin Gareus [Mon, 17 Nov 2014 02:49:19 +0000 (03:49 +0100)]
add some assert() messages.

as hints clang static analyzer "Called C++ object pointer is null"

9 years agofix logic (and possible segfault if !editor)
Robin Gareus [Mon, 17 Nov 2014 02:28:33 +0000 (03:28 +0100)]
fix logic (and possible segfault if !editor)

9 years agoround control-scroll offsets towards zero
Robin Gareus [Sat, 15 Nov 2014 18:41:00 +0000 (19:41 +0100)]
round control-scroll offsets towards zero

fixes MCU "Locate called for negative sample position"

9 years agofix compilation with --no-nls
Robin Gareus [Sat, 15 Nov 2014 18:27:17 +0000 (19:27 +0100)]
fix compilation with --no-nls

9 years agoFix selection in automation regions (MIDI controllers).
David Robillard [Sat, 15 Nov 2014 08:48:40 +0000 (03:48 -0500)]
Fix selection in automation regions (MIDI controllers).

We shouldn't have to manually drive the drag here, but if the ARV handler
returns false, the event doesn't propagate correctly for some reason and the
drag is not driven by the Editor.

9 years agoFix entering/editing MIDI region "automation" (controllers).
David Robillard [Sat, 15 Nov 2014 07:58:39 +0000 (02:58 -0500)]
Fix entering/editing MIDI region "automation" (controllers).

Two issues:

1) AutomationRegionView not receiving events (CC breakage).

2) Entered values must be rounded to integer for MIDI controllers.  This should
be done more generically with ParameterDescriptor for all controls (also
supporting boolean toggles and such), once ParameterDescriptor becomes more
pervasive and takes over Evoral::Parameter, but this will do for now.

9 years agoFix MIDI region keyboard editing (add key handling to canvas).
David Robillard [Sat, 15 Nov 2014 07:04:28 +0000 (02:04 -0500)]
Fix MIDI region keyboard editing (add key handling to canvas).

9 years agoOnly create MIDI regions on click when in draw mode.
David Robillard [Sat, 15 Nov 2014 07:03:40 +0000 (02:03 -0500)]
Only create MIDI regions on click when in draw mode.

It was much too easy to accidentally create MIDI regions in object mode.  If
the user isn't in draw mode anyway, then even after creating a region, they
can't put notes in it, so I don't think we've lost any discoverability here.

9 years agoFix crash when copying MIDI regions with midi-copy-is-fork is on (#6002).
David Robillard [Sat, 15 Nov 2014 04:53:59 +0000 (23:53 -0500)]
Fix crash when copying MIDI regions with midi-copy-is-fork is on (#6002).

9 years agoFix out of order event errors on save with overlapping notes.
David Robillard [Sat, 15 Nov 2014 02:19:09 +0000 (21:19 -0500)]
Fix out of order event errors on save with overlapping notes.

Another consequence of fuzzy Sequence timing, but if the difference is less
than a tick this should handle things correctly.  If the difference is more
than a tick, something's wrong, and it might be okay to just bump forward
anyway, but I can't reproduce this and it could lead to corruption so I'm
leaving that case noisy.

9 years agoImplement "multi-paste" for notes, regions, and automation.
David Robillard [Sat, 15 Nov 2014 01:04:09 +0000 (20:04 -0500)]
Implement "multi-paste" for notes, regions, and automation.

The idea here is that pasting several times to the same location doesn't make
sense.  Instead, the paste is appended past the last paste, snapped to the
grid.  This make it simple to replicate a given section a number of times,
simply by copying once and pasting several times.

This behaviour only appears when successive pastes are done to the same
location (whatever the edit point is).  When the paste point changes, the
"multi-paste" state is reset.

Boots 'n cats 'n boots 'n cats.

9 years agoFix missing return statement in deleted region scenario.
David Robillard [Sat, 15 Nov 2014 00:21:29 +0000 (19:21 -0500)]
Fix missing return statement in deleted region scenario.

9 years agoFix MIDI note cut/copy/paste.
David Robillard [Fri, 14 Nov 2014 22:33:02 +0000 (17:33 -0500)]
Fix MIDI note cut/copy/paste.