Commit graph

14759 commits

Author SHA1 Message Date
David Robillard
07d4f50689 Clean up funny code and initialize variables. 2014-11-18 02:55:03 -05:00
David Robillard
881d77f1e5 Constrain variable scopen and avoid uninitialized values existing at all.
Note: dead assignments trigger scan-build dead code warnings, which
initializations do not.
2014-11-18 02:55:03 -05:00
David Robillard
6e482b3488 Remove unused variable and redundant arithmetic. 2014-11-18 02:55:03 -05:00
David Robillard
8dde26da7b Gracefully avoid importing audio that somehow has 0 channels. 2014-11-18 02:55:03 -05:00
David Robillard
e5d9fd1aac Fix potential use of uninitialized value. 2014-11-18 02:53:28 -05:00
David Robillard
fed4e8446b Fix NULL pointer dereference on malformed Playlist XML. 2014-11-18 02:53:28 -05:00
David Robillard
afd67800b9 Avoid potential division by zero. 2014-11-18 02:53:28 -05:00
David Robillard
c4c7598adb Fix broken logic and possible NULL pointer dereference for Bundle XML. 2014-11-18 02:53:28 -05:00
David Robillard
26f6f80a53 Fix incredibly unlikely NULL pointer dereference. 2014-11-18 02:53:28 -05:00
David Robillard
9aec0c627d Fix Region::verify_length() so it actually does something. 2014-11-18 02:53:27 -05:00
David Robillard
aabde88de0 Fix incredibly unlikely NULL pointer dereference. 2014-11-18 02:53:27 -05:00
David Robillard
2c85e7acac Fix zoom out limiting logic to actually limit minimum zoom. 2014-11-18 02:53:27 -05:00
David Robillard
adea8ab68f Fix mismatched note resize drag cursor and behaviour. 2014-11-18 02:53:27 -05:00
David Robillard
5799cb8509 Fix edit point selector on Mixbus. 2014-11-18 02:53:27 -05:00
Robin Gareus
843551d9d8 remove cruft 2014-11-18 06:15:22 +01:00
Robin Gareus
b6db707989 amend 484e38053 2014-11-18 05:28:27 +01:00
Robin Gareus
484e380536 silence clang "dead assignment" warnings 2014-11-18 04:46:37 +01:00
Robin Gareus
37937d9c69 synchronize preferences and monitor-section 2014-11-18 03:49:20 +01:00
Robin Gareus
5e90b97c42 files should have at least one channel. 2014-11-18 02:15:07 +01:00
Robin Gareus
bd5713f009 remove cruft (monitor section knobs are cairo now) 2014-11-18 02:15:06 +01:00
Robin Gareus
f39286f92f NOOP, re-indent and remove trailing whitespace 2014-11-18 02:15:06 +01:00
Robin Gareus
f2273dc3b6 remove dead assignment 2014-11-18 02:15:06 +01:00
Robin Gareus
c194e4df18 remove superfluous if-branch (_session is checked a few lines above) 2014-11-18 02:15:06 +01:00
David Robillard
f7ebae85a7 Fix "maybe" rounding bug.
Introduced in d63161426f.
2014-11-17 19:53:30 -05:00
Robin Gareus
02d735ff00 waves/coreaudio PPC support 2014-11-17 09:07:39 +01:00
Robin Gareus
dc2de0126a OSX packaging:
* postfix DMG with "-dbg" if not optimized.
* strip binary and libs if optimized
2014-11-17 07:49:16 +01:00
Robin Gareus
bd46de779f check alsa midi ringbuffer 2014-11-17 06:50:48 +01:00
David Robillard
85cf4b4dbd 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.
2014-11-17 00:13:53 -05:00
David Robillard
c91b691260 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.
2014-11-16 22:46:59 -05:00
David Robillard
563f5c11a6 Support cut/copy/paste of MIDI notes and controllers at the same time. 2014-11-16 22:35:45 -05:00
David Robillard
2fa6caad95 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?
2014-11-16 22:35:45 -05:00
David Robillard
5393982c80 Don't add spurious points when copy/pasting automation. 2014-11-16 22:35:45 -05:00
David Robillard
9321aedb24 Reset repeated paste state on cut/copy. 2014-11-16 22:35:45 -05:00
David Robillard
b4fcdbb100 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.
2014-11-16 22:35:45 -05:00
David Robillard
d63161426f Add "maybe" rounding modes for rounding only if necessary. 2014-11-16 22:35:45 -05:00
David Robillard
fd9ccc7058 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.
2014-11-16 22:35:45 -05:00
David Robillard
9c5e63bcc6 Make selected control points bright red rather than vice-versa. 2014-11-16 22:35:45 -05:00
David Robillard
9d4f43fa7d Make ControlList::paste const-correct. 2014-11-16 22:35:45 -05:00
David Robillard
8793e60af2 Use symbol for paste operation like everywhere else. 2014-11-16 22:35:45 -05:00
David Robillard
3f8251962f Fix crash when splitting regions in internal edit mode. 2014-11-16 22:35:45 -05:00
Robin Gareus
df40782b62 prevent segfault if in/out property is missing 2014-11-17 04:05:00 +01:00
Robin Gareus
55ce10f498 NULL pointer dereference? 2014-11-17 03:58:05 +01:00
Robin Gareus
ad739cd018 add some assert() messages.
as hints clang static analyzer "Called C++ object pointer is null"
2014-11-17 03:49:19 +01:00
Robin Gareus
47f4005dbc fix logic (and possible segfault if !editor) 2014-11-17 03:28:33 +01:00
Robin Gareus
4a17f9e941 round control-scroll offsets towards zero
fixes MCU "Locate called for negative sample position"
2014-11-15 19:41:15 +01:00
Robin Gareus
0680d0b0ee fix compilation with --no-nls 2014-11-15 19:27:17 +01:00
David Robillard
163dc756e5 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.
2014-11-15 03:48:40 -05:00
David Robillard
de1ebcc149 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.
2014-11-15 02:58:39 -05:00
David Robillard
333c776e0e Fix MIDI region keyboard editing (add key handling to canvas). 2014-11-15 02:04:28 -05:00
David Robillard
89a1980818 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.
2014-11-15 02:03:40 -05:00