summaryrefslogtreecommitdiff
path: root/libs/ardour/audioregion.cc
AgeCommit message (Collapse)Author
2018-02-11SoloSelection: libardour part.Ben Loftis
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-08-23Update "separate_by_channel" API & add Lua bindingsRobin Gareus
This breaks compilation (GUI)
2017-06-22Remove LocaleGuard from ARDOUR::AudioRegion state methodsTim Mayberry
float <=> string conversions are performed using PBD::to_string/string_to via XMLNode
2017-05-06Factor RMS normalization by sqrt(2); match sine peakRobin Gareus
2017-04-19Use XMLNode::get/set_property in ARDOUR::AudioRegion classTim Mayberry
2017-03-11fix incorrect property change in AudioRegion::set_fade_out()nick_m
- should fix 7283
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2016-12-28Fix AudioRegion RMS calc for multi-channelRobin Gareus
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