Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-07 | Consistent ControlList freezing -- fixes #7419 | Robin 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-04 | Compatibility with old out-of-range automation-lane data | Robin 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-21 | Remove duplicates from ControlList | Robin Gareus | |
2017-06-21 | Clamp values in ControlList | Robin Gareus | |
2017-06-21 | Implement 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-21 | Remove separate ControlList min/max/default, use ParameterDescriptor. | Robin Gareus | |
2017-06-21 | Move logarithmic property into Evoral, add rangesteps | Robin Gareus | |
This allows complete mathematical description of a given parameter and parameter values. Semantic type abstraction is reserved for Ardour::ParameterDescriptor. | |||
2017-06-14 | Add infrastructure to merge ControlLists | Robin Gareus | |
2017-06-13 | Apply master-value to automation on disconnect. | Robin Gareus | |
2017-06-10 | Implement slaved boolean automation and update mute special-case | Robin Gareus | |
2017-06-08 | Do not duplicate note id in copy constructor | nick_m | |
This fixes selection undo after copy-dragging notes, but there are probably other cases where duplicate note ids may cause problems. | |||
2017-06-03 | add const-ness: Evaluating a curve does not change it. | Robin Gareus | |
Note that the ControlList's lock and cache are already mutable. | |||
2017-04-26 | AutomationLine time-unit conversion and paste API update | Robin 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-28 | c89 compat (gcc4, mingw..) | Robin Gareus | |
2017-02-28 | Fix loading SMF meta-data > 127 bytes (no more g_critical abort) | Robin Gareus | |
2017-02-08 | centralize computation of tempo from SMF information | Paul Davis | |
2017-01-09 | add clamp for adding points to a ControlList from a (G)UI | Paul Davis | |
2016-12-22 | More 8 whitespace to tab indentation fixes | Nil Geisweiller | |
2016-12-21 | Fix minor typo in comment | Nil Geisweiller | |
2016-12-21 | Fix indentation 8 whitespaces to tab | Nil Geisweiller | |
2016-12-16 | "toll free bridging" between smf_tempo_t and Evoral::SMF::Tempo | Paul Davis | |
2016-12-16 | expose SMF tempo information in Evoral::SMF | Paul Davis | |
2016-12-16 | add function to get number of tempos found in SMF tempo map | Paul Davis | |
2016-12-16 | unused but slightly tricky code to add track name/instrument to an SMF file ↵ | Paul Davis | |
when saved | |||
2016-12-16 | add comments about limitations for Evoral::SMF and tracks | Paul Davis | |
2016-12-14 | add API to Evoral::SMF to retrieve all track/instrument names for use when ↵ | Paul Davis | |
importing | |||
2016-12-14 | extract track and instrument names from SMF while loading | Paul Davis | |
2016-12-14 | add braces and warning for unlikely error | Paul Davis | |
2016-12-14 | fix incorrect test for textual meta events in libsmf | Paul Davis | |
2016-12-14 | braces please | Paul Davis | |
2016-12-14 | braces, please | Paul Davis | |
2016-12-14 | free track name/instrument string memory when necessary | Paul Davis | |
2016-12-14 | add track and instrument name members to smf_track_t | Paul Davis | |
2016-12-08 | I can't find a source file called MIDIXML.cpp (??) | John Emmas | |
2016-12-07 | Set MidiPgmChangeAutomation control value | Robin Gareus | |
2016-12-04 | Remove boost_system test kludge | David Robillard | |
2016-12-04 | Update evoral test suite | David Robillard | |
2016-12-04 | Fix configuration | David Robillard | |
2016-12-04 | Improve coverage of evoral tests | David Robillard | |
2016-12-04 | Improve coverage of evoral tests | David Robillard | |
2016-12-04 | Add missing include | David Robillard | |
2016-12-04 | Make libpbd and evoral capable of standalone build | David 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. | |||
2016-12-04 | Remove dead/annoying/unsafe code | David Robillard | |
Note the old Note::operator= was unsafe, since it made shallow copies of the on and off events, which results in a double delete of events when the notes are destructed. | |||
2016-12-03 | Fix Sequence test | David Robillard | |
2016-12-03 | Remove dead code | David Robillard | |
2016-12-03 | Fix event type and parameter type confusion | David Robillard | |
I'm not sure if this is really the best way to do event types (should it just be a completely static enum in evoral, or completely dynamic and provided by the type map, or a mix like currently?), but previously the event type was frequently set to either total garbage, or parameter types, which are a different thing. This fixes all those cases, and makes Evoral::EventType an enum so the compiler will warn about implicit conversions from int. | |||
2016-12-03 | Remove Evoral::MIDIEvent | David Robillard | |
It is slightly questionable whether type specific methods like velocity() belong on Event at all, these may be better off as free functions. However the code currently uses them as methods in many places, and it seems like a step in the right direction, since, for example, we might some day have events that have a velocity but aren't stored as MIDI messages (e.g. if Ardour uses an internal musical model that is more expressive). In any case, the former inheritance and plethora of sloppy casts is definitely not the right thing. | |||
2016-12-03 | Factor out and extend MIDIXML implementation | David Robillard | |
2016-12-03 | Fix Sequence/Event const-correctness issues | David Robillard | |
2016-11-27 | Fix loading, recording & saving MIDI with PolyKeyPressure events. | Robin Gareus | |
GUI still does not handle this (neither automation lane, nor List Editor), but the file loads, plays and exports correctly. |