luxlabs header browser preview


@class NSObject, NSString, NSURL, NSHashTable, RCMutableWaveform, RCWaveformGenerator;
@protocol OS_dispatch_queue;

@interface RCWaveformDataSource : NSObject <RCWaveformGeneratorSegmentOutputObserver> {
    double _liveRecordingMergeTime;
}

@property (readonly, nonatomic) NSURL *generatedWaveformOutputURL;
@property (readonly, nonatomic) NSHashTable *weakObservers;
@property (readonly, nonatomic) BOOL hasStartedLoading;
@property (readonly, nonatomic) RCWaveformGenerator *waveformGenerator;
@property (readonly, nonatomic) RCMutableWaveform *accumulatorWaveform;
@property (readonly, nonatomic) BOOL finished;
@property (readonly, nonatomic) BOOL canceled;
@property (readonly, nonatomic) float loadingProgress;
@property (nonatomic) double durationPerWaveformSlice;
@property (readonly, nonatomic) double duration;
@property (readonly, nonatomic) struct { double x0; double x1; } timeRangeToHighlight;
@property (readonly, nonatomic) double averagePowerLevelsRate;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property BOOL hasSavedGeneratedWaveform;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (BOOL)setPaused:(BOOL)a0;
- (void)_performObserversBlock:(id /* block */)a0;
- (void)dealloc;
- (void)removeObserver:(id)a0;
- (id)synchronouslyApproximateWaveformSegmentsByReadingCurrentFileAheadTimeRange:(struct { double x0; double x1; })a0;
- (id)segmentsInCompositionByConvertingFromActiveLoadingFragment:(id)a0;
- (id)waveformSegmentsIntersectingTimeRange:(struct { double x0; double x1; })a0;
- (void)mergeGeneratedWaveformIfNecessary;
- (void)updateAccumulatorWaveformSegmentsWithBlock:(id /* block */)a0;
- (void)waveformGeneratorDidFinishLoading:(id)a0 error:(id)a1;
- (void)waveformGeneratorWillBeginLoading:(id)a0;
- (BOOL)waitUntilFinished;
- (id)waveformSegmentsInTimeRange:(struct { double x0; double x1; })a0;
- (void)beginLoading;
- (id)saveableWaveform;
- (void)waveformGenerator:(id)a0 didLoadWaveformSegment:(id)a1;
- (void)finishLoadingWithCompletionTimeout:(unsigned long long)a0 completionBlock:(id /* block */)a1;
- (BOOL)shouldMergeLiveWaveform;
- (void)startLoading;
- (void)saveGeneratedWaveformIfNecessary;
- (void).cxx_destruct;
- (id)initWithWaveformGenerator:(id)a0 generatedWaveformOutputURL:(id)a1;
- (void)cancelLoading;
- (void)_performOnObserversBlock:(id /* block */)a0;
- (void)addObserver:(id)a0;

@end