|
DSPark 1.8.0
Header-only C++20 DSP for real-time and offline audio
|
OFFLINE ONLY: calibrates an antialiased hard curve on the complete source. More...
#include <OfflineHardClipper.h>


Additional Inherited Members | |
Public Types inherited from dspark::detail::OfflineClipProcessor< T, false > | |
| enum | Reason |
| using | Curve = OfflineSoftClipCurve |
| using | Options = std::conditional_t< Soft, OfflineSoftClipOptions, OfflineClipOptions > |
Public Member Functions inherited from dspark::detail::OfflineClipProcessor< T, false > | |
| PlanResult | makePlan (OfflineAudioSource< T > &source, const typename OfflineEnergyAnalyzer< T >::Analysis &analysis, const Options &options={}, const OfflineJobOptions &jobOptions={}) const |
| Reuses complete-source energy analysis; no PCM or filtered audio is retained. | |
| PlanResult | analyze (OfflineAudioSource< T > &source, const Options &options={}, const OfflineJobOptions &job={}) const |
| Analyzes the complete source and makes a reusable worker plan. | |
| Result | render (OfflineAudioSource< T > &source, const Plan &plan, OfflineAudioSink< T > &sink, const OfflineJobOptions &job={}) const |
| Calibrates actual PCM, then verifies a provisional render before committing it. | |
| Result | run (const AudioBuffer< T, MaxChannels > &input, AudioBuffer< T, MaxChannels > &output, double sampleRate, const Options &options={}, const OfflineJobOptions &job={}) const |
| Owning render; aliasing is safe and failure leaves output unchanged. | |
OFFLINE ONLY: calibrates an antialiased hard curve on the complete source.
Uses the same analysis, numerical integration, calibration and transactional renderer as OfflineSoftClipper. Options::reductionDb is positive 0..12 dB; zero preserves exact PCM. Oversampling is explicit (1/2/4/8/16, default 4). A shared ceiling links mono/stereo channels. Internal latency is compensated. Exclusions preserve exact PCM with external 5 ms feathers. An unreachable target returns a failure and never publishes provisional output. Peak refers to the final samples; true peak is measured separately, without extra limiting.
Threading: synchronous worker only; source and plan remain immutable. Owned plans may be reused on the same source. No processSample/processBlock API.
Definition at line 28 of file OfflineHardClipper.h.