summaryrefslogtreecommitdiff
path: root/libs/evoral
AgeCommit message (Collapse)Author
2017-09-18add _locked() variants to new tempo experimentPaul Davis
2017-09-18remove Evoral types.cpp since it is no longer requiredPaul Davis
2017-09-18extend/fix/improve operator overloads and methods for Evoral::BeatsPaul Davis
2017-09-18NOOP: formattingPaul Davis
2017-09-18::find_next_event() does not need to be a pure virtual in ControlSet (it can ↵Paul Davis
originate in AutomatableSequence)
2017-07-27Fix write-pass re-start while in an active write-passRobin Gareus
2017-07-24Update WritePass logic + AutomationList UndoRobin Gareus
Fixes various issues when changing AutomationState while rolling.
2017-07-24Fix ctrl-list guard-points and concurrency issuesRobin Gareus
* lock list when editing (prevent concurrent modification of insert iterator * don't add a guard-point if an event is already present between the target and guard-point-position * remove existing automation-events (old guard points) when touching automation w/o change * don't unset "new write pass" when not rolling (fixes issues when not rolling but locating with write-enabled)
2017-07-07Consistent ControlList freezing -- fixes #7419Robin Gareus
AudioRegion::set_fade_in() freezes the original ControlList, then assigns a new one and thaws that. Frozen state needs to be retained during assignment. Related: The overloaded assignment operator in AutomationList performed duplicate signal emission and didn't freeze the list.
2017-07-04Compatibility with old out-of-range automation-lane dataRobin Gareus
Ardour may have ignored log-scale for parameters 0..N and allowed writing '0'. Force those values into the valid range on session load. Also mark the list as "needs sorting" which removes potential duplicates.
2017-06-21Remove duplicates from ControlListRobin Gareus
2017-06-21Clamp values in ControlListRobin Gareus
2017-06-21Implement additional ControlList interpolation methods.Robin Gareus
The Control and ControlList uses the raw value (eg. coefficient for gain, Hz for frequencies) and those Lists are stored in existing sessions. In the vast majority of cases interpolating automation values using exp/log scale for dB, freq makes more sense -- it's also what the fader does. Adding additional interpolation methods is future proof (we might at allow to even add different methods per automation point (to the next) like other DAWs do. Currently it's mainly used in preparation for consistent GUI automation- lanes. Between 2 points there's always a visual straight line.
2017-06-21Remove separate ControlList min/max/default, use ParameterDescriptor.Robin Gareus
2017-06-21Move logarithmic property into Evoral, add rangestepsRobin Gareus
This allows complete mathematical description of a given parameter and parameter values. Semantic type abstraction is reserved for Ardour::ParameterDescriptor.
2017-06-14Add infrastructure to merge ControlListsRobin Gareus
2017-06-13Apply master-value to automation on disconnect.Robin Gareus
2017-06-10Implement slaved boolean automation and update mute special-caseRobin Gareus
2017-06-08Do not duplicate note id in copy constructornick_m
This fixes selection undo after copy-dragging notes, but there are probably other cases where duplicate note ids may cause problems.
2017-06-03add const-ness: Evaluating a curve does not change it.Robin Gareus
Note that the ControlList's lock and cache are already mutable.
2017-04-26AutomationLine time-unit conversion and paste API updateRobin Gareus
This fixes copy/paste of MIDI automation (time-unit: beat) from/to Parameter automation (time-unit: samples). It also fixes repeatedly pasting with tempo-ramps: pre-multiply length before converting to samples.
2017-02-28c89 compat (gcc4, mingw..)Robin Gareus
2017-02-28Fix loading SMF meta-data > 127 bytes (no more g_critical abort)Robin Gareus
2017-02-08centralize computation of tempo from SMF informationPaul Davis
2017-01-09add clamp for adding points to a ControlList from a (G)UIPaul Davis
2016-12-22More 8 whitespace to tab indentation fixesNil Geisweiller
2016-12-21Fix minor typo in commentNil Geisweiller
2016-12-21Fix indentation 8 whitespaces to tabNil Geisweiller
2016-12-16"toll free bridging" between smf_tempo_t and Evoral::SMF::TempoPaul Davis
2016-12-16expose SMF tempo information in Evoral::SMFPaul Davis
2016-12-16add function to get number of tempos found in SMF tempo mapPaul Davis
2016-12-16unused but slightly tricky code to add track name/instrument to an SMF file ↵Paul Davis
when saved
2016-12-16add comments about limitations for Evoral::SMF and tracksPaul Davis
2016-12-14add API to Evoral::SMF to retrieve all track/instrument names for use when ↵Paul Davis
importing
2016-12-14extract track and instrument names from SMF while loadingPaul Davis
2016-12-14add braces and warning for unlikely errorPaul Davis
2016-12-14fix incorrect test for textual meta events in libsmfPaul Davis
2016-12-14braces pleasePaul Davis
2016-12-14braces, pleasePaul Davis
2016-12-14free track name/instrument string memory when necessaryPaul Davis
2016-12-14add track and instrument name members to smf_track_tPaul Davis
2016-12-08I can't find a source file called MIDIXML.cpp (??)John Emmas
2016-12-07Set MidiPgmChangeAutomation control valueRobin Gareus
2016-12-04Remove boost_system test kludgeDavid Robillard
2016-12-04Update evoral test suiteDavid Robillard
2016-12-04Fix configurationDavid Robillard
2016-12-04Improve coverage of evoral testsDavid Robillard
2016-12-04Improve coverage of evoral testsDavid Robillard
2016-12-04Add missing includeDavid Robillard
2016-12-04Make libpbd and evoral capable of standalone buildDavid Robillard
Just an update to slightly rotten wscripts, shouldn't be any changes during an ardour build. Motivation being a short development cycle for working on evoral and/or its test suite.