summaryrefslogtreecommitdiff
path: root/libs/ardour/audioregion.cc
AgeCommit message (Collapse)Author
2016-07-24prepare region RMS (loudness) normalizationRobin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-10remove reference "const int32_t&" -> const int32_t"Robin Gareus
this simplifies lua-bindings and also let's the compiler worry about constant primitive types.
2016-07-10Exact beat - provide audio->music mapping for region split.nick_m
- for those not in the know, this series provides a way to remove the temporal distortion introduced when using an audio frame-based gui for music-locked objects. In short, the gui uses an audio frame representation to move objects. It displays the object using frame_at_beat(), quantizing the time value to audio frames. This is fine until the user selects that frame but expects it to be interpreted as a beat. Thus beat_at_frame() would not produce the user-expected beat (temporal quantization error of up to 0.5 audio samples). This is one method of mapping audio time to music time accurately.
2016-05-07fix LocaleGuard contstructor (3dc77280)Robin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-05-01various transient-detection fixes (split region, trim, move, undo,..)Robin Gareus
* all API calls use session-time (allow region-lists) * per-region transients are separated in - Onset (Rhythm Rodent, Aubio) - User-added - internal/source (QM), used as fallback for next/prev (read-only)
2016-03-05Fix issue #0006806feandin
2015-11-18reduce math weirdness (thanks to Steven Yi)Robin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-20silence detection: include fades.Robin Gareus
Fades must be outside of regions above threshold in order to properly split drum-hits or fast transients in general.
2015-09-20add silence-stripping fade constraintsRobin Gareus
Ensure that non-silent regions are at least as long as the selected fade-duration.
2015-06-29[Summary] Fixed windows buildGreg Zharun
2015-06-29add channel_count() to audio source APIPaul Davis
2015-06-02AudioRegion::read_peaks() should return 0 or the number of peaks read, not ↵Paul Davis
the number of samples
2015-05-19try to improve the ill-conceived fade_range actionBen Loftis
2015-04-22Initial Gain Coefficient tweaksBen Loftis
1) Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO 2) Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB) 3) GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale 4) GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
2015-03-30fix crash #6161 - another throw w/o catchRobin Gareus
The real problem is: libardourvampplugins:* cannot be instantiated this remains to be fixed.
2015-02-27likely fix for broken fades (imported from v2 sessions)Ben Loftis
2015-01-19use C locale, because POSIX locale is not supported on windows, and ↵Ben Loftis
operation is undefined. C works on all platforms
2014-12-01Replace half-baked param metadata with descriptor.David Robillard
Among other things, this means that automation controls/lists have the actual min/max/normal/toggled of parameters, and not those inferred from the Parameter ID, which is not correct for things like plugin parameters. Pushing things down to the Evoral::ParmeterDescriptor may be useful in the future to have lists do smarter things based on parameter range, but currently I have just pushed down the above-mentioned currently used attributes.
2014-10-02Text tweaks and typo fixesColin Fletcher
2014-07-10add libardour infrastructure for "fade range" edit operationPaul Davis
2014-05-30use CubicSpline interpolation for x-fade preset ShapesRobin Gareus
2014-05-29use fixed number of steps for dB-scale x-fade curves.Robin Gareus
32 steps is sufficient for all practical musical purposes.
2014-05-29fixed number of steps for symmetric fades:Robin Gareus
Extra steps are all below -20dB vs inverse signal being over -2dB. linear interpolation -6dB steps is sufficient for the tail.
2014-05-29fix symmetric fade-shape (still variable number of steps)Robin Gareus
2014-05-29Symmetric x-fade, use equivalent of -6dB per step for 7 steps.Robin Gareus
2014-05-29increase accuracy of fades.Robin Gareus
2014-05-29revert x-fade curves to Mixbus2.Robin Gareus
2014-05-26NOOP, just re-indent diagramRobin Gareus
2014-05-01Introduce global default-fade-shape configuration variableAdrian Knoth
Some users always want the same fade in/out style, e.g., constant power, symmetric, fast etc. To avoid having them change the fade style manually for each fade, use a global configuration variable instead.
2014-03-04reduce number of points used to define x-fade curvesPaul Davis
2014-02-26increase number of steps in xfade curves (where applicable) from about 9 to 32Paul Davis
2014-01-02Merge branch 'master' into cairocanvasPaul Davis
2013-12-28fix replicate_missing_region_channels optionRobin Gareus
2013-04-04initial commit of hand merging, plus getting "ancient" waf script to work ↵Paul Davis
correctly
2013-03-03skip fade&envelope info in region XMLRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@14118 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-03fix region fade/env XML save - fixes #5353Robin Gareus
In rev 12740 FadeIn/Out became stateful properties which are automatically saved when Region:state() calls Stateful::add_properties(). AudioRegion::state() called Region:state() AND Stateful::add_properties() which added a 2nd redundant copy to the XML. Finally AudioRegion::state() adds custom serialization for Fades. Furthermore this custom serialization also used names which did not match the Property name. git-svn-id: svn://localhost/ardour2/branches/3.0@14117 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13crossfade hack and slash. removed overlap checks, overlap mode, default ↵Ben Loftis
length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30fix x-fades (part one)Robin Gareus
The data from the lower layer(s) was not faded out because the reversed gain curve was incorrect because ControlList:add() inserts anchor points. a call to reverse_curve() for a linear fade produced: INPUT: [when,val] {[0.0, 0.0], [300.0, 1.0]} OUTPUT: (reversed) {[0.0, 0.0], [0.0, 1.0], [1.0, 0,0], [300.0, 0.0]} solution: use fast_simple_add() instead. git-svn-id: svn://localhost/ardour2/branches/3.0@13572 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-24a bit more output from -D audioplayback, to help thorsten track down a ↵Paul Davis
crash/valgrind bug git-svn-id: svn://localhost/ardour2/branches/3.0@13074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16Return silence from read_from_sources() if we try to read a channel that our ↵Carl Hetherington
source does not have (if replicate-missing-region-channels is turned off); should fix #4934. git-svn-id: svn://localhost/ardour2/branches/3.0@12741 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16Add new SharedStatefulProperty which manages a shared_ptr toCarl Hetherington
some Stateful object, and a subclass to use this for AutomationList. SharedStatefulProperty will manage undo / redo using full copies of the XML state, like MementoCommand, but does it within the Property undo system. git-svn-id: svn://localhost/ardour2/branches/3.0@12740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09Fix off-by-one in body_range().Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01fix construction of new xfades from legacy xfades, and add a few comments ↵Paul Davis
here and there git-svn-id: svn://localhost/ardour2/branches/3.0@12519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-30rethink how to load legacy crossfades as new-style xfadesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12496 d708f5d6-7413-0410-9779-e7cbd77b26cf