ftp.nice.ch/pub/next/developer/resources/classes/misckit/MiscKit.1.10.0.s.gnutar.gz#/MiscKit/Palettes/MiscSoundPalette/MiscSoundUtil.subproj/MiscSoundTracker.h

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

/*

MiscSoundTracker
Version 1.2
Copyright (c) 1995 by Sean Luke
Donated to the MiscKit

Permission to use, copy, modify, and distribute this material 
for any purpose and without fee, under the restrictions as noted 
in the MiscKit copyright notice, is hereby granted, provided that
the MiscKit copyright notice and this permission notice 
appear in all source copies, and that the author's name shall not
be used in advertising or publicity pertaining to this 
material without the specific, prior written permission 
of the author.  SEAN O. LUKE  MAKES NO REPRESENTATIONS ABOUT THE
ACCURACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE.  
IT IS PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.

*/

#import <appkit/appkit.h>
#import <soundkit/soundkit.h>


// defines

#define SOUNDTRACKER_SEND_TYPE_SAMPLES	1		// number of samples (int)
#define SOUNDTRACKER_SEND_TYPE_SECONDS	2		// number of seconds (float)
#define SOUNDTRACKER_SEND_TYPE_RATIO	3		// how far played (float 0-1)
#define SOUNDTRACKER_SEND_TYPE_PERCENT	4		// how far played (float 0-100)
#define SOUNDTRACKER_SEND_TYPE_LEFT		5		// left volume
#define SOUNDTRACKER_SEND_TYPE_RIGHT	6		// right volume
#define SOUNDTRACKER_SEND_TYPE_MONO		7		// mono volume
#define SOUNDTRACKER_SEND_TYPE_MUTE		8		// mute tracking
#define SOUNDTRACKER_SEND_TYPE_DEEMPHASIS	9	// deemphasis tracking
#define SOUNDTRACKER_SEND_TYPE_LEFT_PEAK	10	// left peak volume for device
#define SOUNDTRACKER_SEND_TYPE_RIGHT_PEAK	11	// right peak volume for device
#define SOUNDTRACKER_SEND_TYPE_MONO_PEAK	12	// average peak volume 

#define SOUNDTRACKER_TIMED_ENTRY_SPEED	2		// seconds between refreshes
#define SOUNDTRACKER_DEFAULT_SAMPLING_RATE 44100


@interface MiscSoundTracker:Object
{
	id 				sound;					// can be a Sound or a SoundView
	id 				target;					// item to send messages
	BOOL			running;				// is running
	int				send_type;				// what to send (see defines above)
	float			refresh;				// total seconds between updates
	DPSTimedEntry	teNum;					// timed entry
	NXSoundOut*		output_device;			// used to track deemphasis, peaks
	float			default_sampling_rate;	// default rate for processing
}

- init;
- awake;
//- _update;									// message from timed entry
- setRefresh:(float) number_seconds;
- setRefreshToMe:sender;			// sender must respond to floatValue
- (float)refresh;
- free;

- setSound:this_sound_or_soundview;
- sound;
- setDefaultSamplingRate:(float) this_rate;	
		// because when recording, sound returns rate improperly
		// needed only to return seconds information.
		// cannot be 0.
- (float)defaultSamplingRate;
- setTarget:this_target;
- target;
- clearTarget;								// make target display 0 or ""

- read:(NXTypedStream*) stream;
- write:(NXTypedStream*) stream;

- run;
- stop;
- sendSamples;
- sendSeconds;
- sendRatio;
- sendPercent;
- sendLeft;
- sendRight;
- sendMono;
- sendMute;
- sendDeemphasis;
- sendLeftPeak;
- sendRightPeak;
- sendMonoPeak;
- setSendType:(int)this_format;
- (int)sendType;

- (float) floatValue;
- (int) intValue;

- setVolumeTo:sender;						// only used if tracking volume
- setMuteTo:sender;							// only used if tracking mute
- setDeemphasisTo:sender;					// only used if tracking deemphasis

- run:sender;
- stop:sender;
- sendSamples:sender;
- sendSeconds:sender;
- sendRatio:sender;
- sendPercent:sender;
- sendLeft:sender;
- sendRight:sender;
- sendMono:sender;
- sendMute:sender;
- sendDeemphasis:sender;
- sendLeftPeak:sender;
- sendRightPeak:sender;
- sendMonoPeak:sender;

@end

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