#import <Foundation/Foundation.h>

#import "Superpowered.h"
#import "SuperpoweredAdvancedAudioPlayer.h"

@interface Track : NSObject

@property(nonatomic) float leftVolume;
@property(nonatomic) float rightVolume;

- (id)initWithUri:(NSString *)uri withSamplerate:(unsigned int)samplerate;

- (bool)processStereo:(Float32 *)buffer withMixed:(bool)mixed withNumberOfFrames:(unsigned int)numberOfFrames withVolume:(float)volume;

- (bool)processLeft:(Float32 *)buffer withMixed:(bool)mixed withNumberOfFrames:(unsigned int)numberOfFrames;

- (bool)processRight:(Float32 *)buffer withMixed:(bool)mixed withNumberOfFrames:(unsigned int)numberOfFrames;

- (bool)processStereo:(Float32 *)buffer withMixed:(bool)mixed withNumberOfFrames:(unsigned int)numberOfFrames;

- (void)setVolume:(float)left volumeRight:(float)right;

- (void)setOutputSamplerate:(unsigned int)samplerate;

- (void)setSyncMode:(Superpowered::SyncMode)syncMode;

- (void)setPlaybackRate:(double)rate;

- (void)play;

- (void)playSynchronized;

- (void)pause;

- (int)getDisplayPositionSeconds;

- (void)setPosition:(double)ms andStop:(bool)andStop;

- (Float32)getBufferedEndPercent;

@end
