ftp.nice.ch/pub/next/unix/audio/cmix.s.tar.gz#/cmix/spliceplay/Player.h

This is Player.h in view mode; [Download] [Up]

#import <objc/Object.h>

/* The states that the player can be in. */
typedef enum {
  PLA_STOPPED,
  PLA_PAUSED,
  PLA_RUNNING,
  N_PLA_STATES
  } Pla_state_t;
  
@interface Player:Object
{
  int bytesPlayed;		/* # of bytes played since setup */
  id delegate;			/* the target of notification messages */
  Pla_state_t playerState;	/* current state of the player object */
  int regionSize;		/* # of bytes per call to playData */
  int regionCount;		/* # of regions queued in advance */
  vm_address_t *regions;	/* an array of regions */
  int regionIndex;		/* the current region */
}

+ new;
/*
 * Factory method to instantiate a new player object.
 */

/***
 ***
 *** The main user-visible methods
 ***
 ***/

- free;
/*
 * Free the Player object and any associated storage.
 */

- prepare;
/*
 * Prepare to play, state => PLA_PAUSED
 */

- run;
/*
 * Start playback, state => PLA_RUNNING
 */

- pause;
/*
 * Pause the playback, state => PLA_PAUSED
 */

- stop;
/*
 * Stop playing, state => PLA_STOPPED
 */

- (Pla_state_t)state;
/*
 * Returns the current state of the player object
 */

- (int)bytesPlayed;
/*
 * Returns the number of bytes played since the last call to setup
 */

- delegate;
/*
 * Returns the current delegate.
 */

- setDelegate:anObject;
/*
 * Sets the delegate of the recoder
 */

- (int)regionSize;
/*
 * Returns the current region size.
 */

- setRegionSize:(int)nbytes;
/*
 * Set the size of each region to nbytes big.
 */

- (int)regionCount;
/*
 * Returns the number of regions in the region queue.
 */

- setRegionCount:(int)nregions;
/*
 * Set the number of regions in the region queue.
 */

/***
 ***
 *** Internal methods
 ***
 ***/

- freeRegions;
/*
 * Free all the regions in the region queue.
 */

- setupRegions:(int)size:(int)count;
/*
 * Create count regions of the given size.
 */

@end

/***
 ***
 *** Description of the Player's delegate
 ***
 ***/

@interface PlayerDelegate:Object

- willPlay :player;
/*
 * Called whenever the player is about to start playing.
 */

- didPlay :player;
/*
 * Called whenever the player stops playing.
 */

- playData :player :(char *)data :(int)nbytes;
/*
 * Called whenever the player wants more sound data.
 */

@end




These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.