summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2014-11-22Fix quantization and other time-related ops.David Robillard
2014-11-22Max is max and min is min and I am dumb.David Robillard
2014-11-22Fix clang and MSVC build.David Robillard
2014-11-22Wrap MusicalTime in a class.David Robillard
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.
2014-11-22Fix assert failure in control list interpolation.David Robillard
How we never hit this before is beyond me, it's in some ooooold code.
2014-11-22Fix const violation warnings in tempo.cc.David Robillard
2014-11-20Fix lost MIDI note offs and controllers.David Robillard
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.
2014-11-20Reduce unnecessary non-const MIDI buffer access.David Robillard
2014-11-20Clean up some MIDI code.David Robillard
2014-11-20debug trace lost midi-messagesRobin Gareus
2014-11-19Fix dropped MIDI events, especially with record enabled.David Robillard
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.
2014-11-19some const'ness and hints for clangRobin Gareus
2014-11-18allow dummy backend for any productBen Loftis
2014-11-18Avoid possible use of uninitialized values.David Robillard
This could only happen with a broken widget, but it shuts up clang and doesn't hurt.
2014-11-18Remove obviously dead/redundant code.David Robillard
2014-11-18Clean up funny code and initialize variables.David Robillard
2014-11-18Constrain variable scopen and avoid uninitialized values existing at all.David Robillard
Note: dead assignments trigger scan-build dead code warnings, which initializations do not.
2014-11-18Remove unused variable and redundant arithmetic.David Robillard
2014-11-18Gracefully avoid importing audio that somehow has 0 channels.David Robillard
2014-11-18Fix potential use of uninitialized value.David Robillard
2014-11-18Fix NULL pointer dereference on malformed Playlist XML.David Robillard
2014-11-18Avoid potential division by zero.David Robillard
2014-11-18Fix broken logic and possible NULL pointer dereference for Bundle XML.David Robillard
2014-11-18Fix incredibly unlikely NULL pointer dereference.David Robillard
2014-11-18Fix Region::verify_length() so it actually does something.David Robillard
2014-11-18amend 484e38053Robin Gareus
2014-11-18silence clang "dead assignment" warningsRobin Gareus
2014-11-18synchronize preferences and monitor-sectionRobin Gareus
2014-11-18files should have at least one channel.Robin Gareus
2014-11-18remove dead assignmentRobin Gareus
2014-11-18remove superfluous if-branch (_session is checked a few lines above)Robin Gareus
2014-11-17Fix "maybe" rounding bug.David Robillard
Introduced in d63161426f256c293c92b73f1be4b375f962d298.
2014-11-17waves/coreaudio PPC supportRobin Gareus
2014-11-17check alsa midi ringbufferRobin Gareus
2014-11-16Don't add origin value to MIDI controller regions on initial insert.David Robillard
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-16Add "maybe" rounding modes for rounding only if necessary.David Robillard
2014-11-16Use an enum for RoundMode instead of magic numbers.David Robillard
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-16Make ControlList::paste const-correct.David Robillard
2014-11-17prevent segfault if in/out property is missingRobin Gareus
2014-11-17add some assert() messages.Robin Gareus
as hints clang static analyzer "Called C++ object pointer is null"
2014-11-15Fix MIDI region keyboard editing (add key handling to canvas).David Robillard
2014-11-14Fix crash when copying MIDI regions with midi-copy-is-fork is on (#6002).David Robillard
2014-11-14Fix out of order event errors on save with overlapping notes.David Robillard
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.
2014-11-14add abort() to non-reached codeRobin Gareus
This cleans up a lot of false-positives in static analysis and also helps compilers to optimize code paths in general. (tagging the fatal stingstream operator as ‘noreturn’ is far less trivial)
2014-11-13Fix crashes on various MIDI editing operations.David Robillard
Assertions assumed old strict ordering, no longer reflecting reality of fuzzy time comparison (introduced in 86f1b8).
2014-11-13yet another copy/paste typo :(Robin Gareus
2014-11-13fix typo in b9fc616538Robin Gareus
2014-11-13auto-initialize weak-jackRobin Gareus
(not needed with ardour - but keep code in sync with https://github.com/x42/weakjack)
2014-11-13prepare for JACK meta-data APIRobin Gareus
2014-11-13make new jack thread API functions optionalRobin Gareus