MKOrchestra.h File Reference

#import <Foundation/Foundation.h>
#import <SndKit/SndKit.h>
#import "orch.h"
#import "MKDeviceStatus.h"
#import "MKSynthData.h"

Go to the source code of this file.

Classes

class  MKOrchestra
 This is the allocator and manager of DSP resources. More...

Defines

#define MK_nextCompatibleDSPPort   1
 These constants define the MKOrchestra capabilities bits returned by the MKOrchestra capabilities method.
#define MK_hostSoundOut   (1<<1)
 These constants define the MKOrchestra capabilities bits returned by the MKOrchestra capabilities method.
#define MK_serialSoundOut   (1<<2)
 These constants define the MKOrchestra capabilities bits returned by the MKOrchestra capabilities method.
#define MK_soundIn   (1<<3)
 These constants define the MKOrchestra capabilities bits returned by the MKOrchestra capabilities method.
#define MK_soundfileOut   (1<<4)
 These constants define the MKOrchestra capabilities bits returned by the MKOrchestra capabilities method.

Typedefs

typedef enum _MKOrchSharedType MKOrchSharedType
 This enumeration defines the types of shared objects that can be registered with the MKOrchestra's shared object mechanism.

Enumerations

enum  _MKOrchSharedType { MK_noOrchSharedType = 0, MK_oscTable = 1, MK_waveshapingTable = 2, MK_excitationTable = 3 }
 This enumeration defines the types of shared objects that can be registered with the MKOrchestra's shared object mechanism. More...
enum  MKOrchestraTiming { MK_UNTIMED = 0, MK_TIMED = 1, MK_SOFTTIMED = 2 }
 MK_UNTIMED and MK_TIMED are arguments for the MKConductor setTimed: method. More...

Functions

double MKGetPreemptDuration (void)
 Get the MKSynthPatch preemption time.
void MKSetPreemptDuration (double seconds)
 Set the MKSynthPatch preemption time.


Detailed Description


Typedef Documentation

This enumeration defines the types of shared objects that can be registered with the MKOrchestra's shared object mechanism.

The shared object mechanism manages reference counts, automatic lazy garbage collection, etc. Note that the same data object may be registered as the key for several different types of shared data. For example, a MKPartials object may have associated with it two MKSynthData objects, one representing its oscTable representation and one representing its waveshapingTable representation.


Enumeration Type Documentation

This enumeration defines the types of shared objects that can be registered with the MKOrchestra's shared object mechanism.

The shared object mechanism manages reference counts, automatic lazy garbage collection, etc. Note that the same data object may be registered as the key for several different types of shared data. For example, a MKPartials object may have associated with it two MKSynthData objects, one representing its oscTable representation and one representing its waveshapingTable representation.

Enumerator:
MK_noOrchSharedType  Wildcard.
MK_oscTable  Data used as a wave table for an oscillator. This shared type must be a power of 2 in length and if a request for a shorter length is made, it is downsampled.
MK_waveshapingTable  Data used as a waveshaping table. This table performs a non-linear mapping. When looked-up with a sine wave, it provides a specified spectrum.
MK_excitationTable  Data used as an excitation table for waveguide-based synthesis. This type is similar to oscTable but it need not be a power of 2 and it is shortened by truncation (from the end.)

MK_UNTIMED and MK_TIMED are arguments for the MKConductor setTimed: method.

See also:
MKConductor and the Performance Concepts documentation for details.
Enumerator:
MK_UNTIMED  DSP commands are executed as soon as they are sent.
MK_TIMED  DSP commands are executed at the time of their time-stamp.
MK_SOFTTIMED  Obsolete.


Generated on Sat Dec 5 17:01:14 2009 for MusicKit by  doxygen 1.5.6