project_files/HedgewarsMobile/Classes/MXAudioPlayerFadeOperation.h
author nemo
Wed, 09 Aug 2017 12:46:52 -0400
changeset 12446 48ee3777e42e
parent 8441 a00b0fa0dbd7
child 12872 00215a7ec5f5
permissions -rw-r--r--
trying to eliminate that annoying impact sound for gears that are well under the water and not even exiting it. sheepluva might want to look this over since this is modifying his code and should perhaps be part of the addSplashForGear checks, but hadn't had much luck getting him to examine it past year or so
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     1
//  MXAudioPlayerFadeOperation.h
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     2
//
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     3
//  Created by Andrew Mackenzie-Ross on 30/11/10.
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     4
//  mackross.net
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     5
//
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     6
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     7
#import <Foundation/Foundation.h>
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     8
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
     9
@class AVAudioPlayer;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    10
@interface MXAudioPlayerFadeOperation : NSOperation {
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    11
  AVAudioPlayer *_audioPlayer;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    12
  NSTimeInterval _fadeDuration;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    13
  NSTimeInterval _delay;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    14
  float _finishVolume;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    15
  BOOL _pauseAfterFade;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    16
  BOOL _stopAfterFade;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    17
  BOOL _playBeforeFade;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    18
}
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    19
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    20
// The AVAudioPlayer that the volume fade will be applied to.
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    21
// Retained until the fade is completed.
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    22
// Must be set with init method.
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    23
@property (nonatomic, retain, readonly) AVAudioPlayer *audioPlayer;
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    24
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    25
// The duration of the volume fade.
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    26
// Default value is 1.0
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    27
@property (nonatomic, assign) NSTimeInterval fadeDuration;
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    28
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    29
// The delay before the volume fade begins.
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    30
// Default value is 0.0
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    31
@property (nonatomic, assign) NSTimeInterval delay;
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    32
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    33
// The volume that will be faded to.
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    34
// Default value is 0.0
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    35
@property (nonatomic, assign) float finishVolume;
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    36
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    37
// If YES, audio player will be sent a pause message when the fade has completed.
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    38
// Default value is NO, however, if finishVolume is 0.0, default is YES
8441
a00b0fa0dbd7 some whitespaces from ios files
koda
parents: 6659
diff changeset
    39
@property (nonatomic, assign) BOOL pauseAfterFade;
6656
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    40
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    41
// If YES, when the fade has completed the audio player will be sent a stop message.
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    42
// Default value is NO.
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    43
@property (nonatomic, assign) BOOL stopAfterFade;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    44
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    45
// If YES, audio player will be sent a play message after the delay.
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    46
// Default value is YES.
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    47
@property (nonatomic, assign) BOOL playBeforeFade;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    48
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    49
// Init Methods
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    50
- (id)initFadeWithAudioPlayer:(AVAudioPlayer*)player toVolume:(float)volume overDuration:(NSTimeInterval)duration withDelay:(NSTimeInterval)timeDelay;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    51
- (id)initFadeWithAudioPlayer:(AVAudioPlayer*)player toVolume:(float)volume overDuration:(NSTimeInterval)duration;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    52
- (id)initFadeWithAudioPlayer:(AVAudioPlayer*)player toVolume:(float)volume;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    53
- (id)initFadeWithAudioPlayer:(AVAudioPlayer*)player;
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    54
6aeaba3ee584 ios: added MXAudioPlayerFadeOperation to allow easy fade in and out of background music
koda
parents:
diff changeset
    55
@end