luxlabs header browser preview


@class NSString, NSMutableDictionary, NSObject;
@protocol OS_dispatch_queue;

@interface CHMetrics : NSObject {
    long long _reporterID;
    NSString *_engineID;
    unsigned int _audioSessionID;
    BOOL _sessionIsShared;
    BOOL _isSPI;
    NSObject<OS_dispatch_queue> *_dispatchQueue;
    float _CHMetricsIntensityBin1To2Value;
    float _CHMetricsIntensityBin2To3Value;
    struct vector<unsigned long, std::allocator<unsigned long>> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair<unsigned long *, std::allocator<unsigned long>> { unsigned long long *__value_; } __end_cap_; } _hapticTransientIDs;
    struct vector<unsigned long, std::allocator<unsigned long>> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair<unsigned long *, std::allocator<unsigned long>> { unsigned long long *__value_; } __end_cap_; } _hapticContinuousSustainedIDs;
    struct vector<unsigned long, std::allocator<unsigned long>> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair<unsigned long *, std::allocator<unsigned long>> { unsigned long long *__value_; } __end_cap_; } _hapticContinuousNonsustainedIDs;
    struct unordered_map<AVHapticPlayerEventType, NSString *, std::hash<AVHapticPlayerEventType>, std::equal_to<AVHapticPlayerEventType>, std::allocator<std::pair<const AVHapticPlayerEventType, NSString *>>> { struct __hash_table<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, std::__unordered_map_hasher<AVHapticPlayerEventType, std::__hash_value_type<AVHapticPlayerEventType, NSString *>, std::hash<AVHapticPlayerEventType>, std::equal_to<AVHapticPlayerEventType>>, std::__unordered_map_equal<AVHapticPlayerEventType, std::__hash_value_type<AVHapticPlayerEventType, NSString *>, std::equal_to<AVHapticPlayerEventType>, std::hash<AVHapticPlayerEventType>>, std::allocator<std::__hash_value_type<AVHapticPlayerEventType, NSString *>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<AVHapticPlayerEventType, NSString *>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<AVHapticPlayerEventType, std::__hash_value_type<AVHapticPlayerEventType, NSString *>, std::hash<AVHapticPlayerEventType>, std::equal_to<AVHapticPlayerEventType>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<AVHapticPlayerEventType, std::__hash_value_type<AVHapticPlayerEventType, NSString *>, std::equal_to<AVHapticPlayerEventType>, std::hash<AVHapticPlayerEventType>>> { float __value_; } __p3_; } __table_; } _legacyHapticTransientEventTypeMap;
    NSMutableDictionary *_playerData;
    NSMutableDictionary *_patternLibraryData;
    BOOL _retainDataForTesting;
    NSMutableDictionary *_dataForTesting;
}

+ (double)currentTime;

- (void)dealloc;
- (id).cxx_construct;
- (BOOL)isEnabled;
- (void).cxx_destruct;
- (id)getIDForPlayer:(id)a0;
- (void)handleFinishedForPlayersAtTime:(double)a0;
- (void)markPlaybackAction:(id)a0 action:(long long)a1 time:(float)a2;
- (void)addPatternLibraryMetric:(id)a0;
- (id)continousDictionary:(id)a0 slot:(unsigned long long)a1 intensity:(float)a2;
- (id)continuousSharpnessSlotKeyFromSlotValue:(unsigned long long)a0;
- (void)dispatchOnLocal:(id /* block */)a0;
- (float)getLoopsForAdvancedPlayer:(id)a0 endTime:(double)a1;
- (float)getLoopsForPlayer:(id)a0 endTime:(double)a1;
- (id)getMetricsForPlayer:(id)a0;
- (void)handleActionForPlayer:(id)a0 action:(long long)a1 time:(double)a2 isAdvanced:(BOOL)a3;
- (void)handleEngineStart;
- (void)handleEngineStop;
- (void)handleInitForPlayer:(id)a0 events:(id)a1 isAdvanced:(BOOL)a2 patternID:(id)a3;
- (void)handleParamCurveEncountered;
- (void)handleServerRecovery;
- (void)handleStartForPlayer:(id)a0 time:(double)a1 isAdvanced:(BOOL)a2 patternID:(id)a3;
- (id)initWithEngine:(id)a0 audioSessionID:(unsigned int)a1 sessionIsShared:(BOOL)a2 isSPI:(BOOL)a3;
- (id)intensityBinKeyFromValue:(float)a0;
- (BOOL)isEventType:(unsigned long long)a0 inList:(struct vector<unsigned long, std::allocator<unsigned long>> { unsigned long long *x0; unsigned long long *x1; struct __compressed_pair<unsigned long *, std::allocator<unsigned long>> { unsigned long long *x0; } x2; })a1;
- (id)legacyTransientDictionary:(id)a0 eventType:(unsigned long long)a1 intensity:(float)a2;
- (void)logMetric:(id)a0 value:(id)a1;
- (void)logPatternLibraryMetric:(id)a0;
- (void)logPowerLogMetric:(id)a0;
- (void)markAdvancedPlaybackAction:(id)a0 action:(long long)a1 time:(float)a2;
- (void)prepareAdvancedPlaybackData:(id)a0 events:(id)a1;
- (void)prepareData:(id)a0 events:(id)a1;
- (void)preparePlaybackData:(id)a0 events:(id)a1;
- (void)removePlaybackData:(id)a0;
- (void)resetAdvancedPlaybackData:(id)a0;
- (void)resetPlaybackData:(id)a0;
- (void)retainData:(id)a0 forTestingPlayer:(id)a1;
- (void)sendDetailedMetricsForPlayerID:(id)a0 endTime:(float)a1;
- (void)sendPatternLibraryMetrics;
- (void)setMetricsTestModeEnabled;
- (void)setReporter;
- (void)startReporter;
- (void)stopReporter;
- (id)transientDictionary:(id)a0 index:(unsigned long long)a1 intensity:(float)a2;
- (id)transientSharpnessIndexKeyFromIndexValue:(unsigned long long)a0;

@end