synthclone  0.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
synthclone Namespace Reference

Classes

class  Component
 Base class for synthclone components. More...
 
class  Context
 Context objects allow Participant objects to interact with a synthclone session. More...
 
class  DesignerView
 Utility class for loading views created with QtDesigner. More...
 
class  Effect
 Component capable of altering samples in some way. More...
 
class  EffectJob
 Represents a job that will be sent to registered Effect objects. More...
 
class  Error
 An exception class used with synthclone specific errors. More...
 
class  FileSelectionView
 A utility view class that handles the selection of files and directories. More...
 
class  IPlugin
 This interface is implemented by synthclone plugins. More...
 
class  MenuAction
 MenuAction objects are triggerable choices in a menu. More...
 
class  MenuItem
 Base class that contains common functionality used by MenuAction and MenuSeparator objects. More...
 
class  MenuSeparator
 MenuSeparator objects are used to create a sense of grouping with MenuAction objects. More...
 
class  Participant
 Participants objects interact with synthclone. More...
 
class  Registration
 Registration objects are returned when objects are registered with the session. More...
 
class  Sample
 Contains sample data. More...
 
class  SampleCopier
 Utility class that copies Sample data from a SampleInputStream to a SampleOutputStream, emitting SampleCopier::copyProgress events as it goes along. More...
 
class  SampleInputStream
 Used to read sample data from a sample file. More...
 
class  SampleOutputStream
 Used to write sample data to a sample file. More...
 
class  Sampler
 Component capable of capturing and playing back audio. More...
 
class  SamplerJob
 Represents a job that will be sent to a Sampler. More...
 
class  SampleStream
 Base class for reading/writing Sample files. More...
 
class  Semaphore
 A portable semaphore object, optimally including a realtime-safe 'post' operation. More...
 
class  Target
 Component capable of building a patch from a list of Zone objects. More...
 
class  View
 Utility view class. More...
 
class  Zone
 Zone objects contains data about how Sample objects should be acquired from a Sampler. More...
 
class  ZoneComparer
 Subclasses of 'ZoneComparer' are used to sort zones, generally by a specific property. More...
 

Typedefs

typedef quint8 MIDIData
 Holds a byte of MIDI data. More...
 
typedef quint16 SampleChannelCount
 Holds a sample channel count. More...
 
typedef qint64 SampleFrameCount
 Holds a count of sample frames, or an offset with sample frames. More...
 
typedef quint32 SampleRate
 Holds a sample rate. More...
 
typedef float SampleTime
 Holds a sample time (in seconds). More...
 

Enumerations

enum  ControlType {
  CONTROLTYPE_UNDEFINED = 0, CONTROLTYPE_COMMAND = 1, CONTROLTYPE_CONTINUOUS = 2, CONTROLTYPE_MONO_MODE = 3,
  CONTROLTYPE_SWITCH = 4
}
 MIDI control types. More...
 
enum  Menu {
  MENU_ADD_EFFECT = 0, MENU_ADD_SAMPLER = 1, MENU_ADD_TARGET = 2, MENU_HELP = 3,
  MENU_SESSION = 4, MENU_TOOLS = 5, MENU_VIEW = 6, MENU_ZONES = 7
}
 Menu identifiers for default synthclone menus. More...
 
enum  SessionState {
  SESSIONSTATE_CURRENT = 0, SESSIONSTATE_LOADING = 1, SESSIONSTATE_MODIFIED = 2, SESSIONSTATE_SAVING = 3,
  SESSIONSTATE_UNLOADING = 4
}
 Defines session states. More...
 

Functions

template<typename T >
T * getChild (const QObject *object, const QString &name=QString())
 Finds a child object of an object. More...
 
QString getMIDIControlString (MIDIData control)
 Gets a string representation of a MIDI control. More...
 
ControlType getMIDIControlType (MIDIData control)
 Gets the default MIDI control type. More...
 
QString getMIDINoteString (MIDIData note)
 Gets a string representation of a MIDI note. More...
 
QString getSampleFilenameExtension (SampleStream::Type type)
 Gets an appropriate filename extension for a sample type. More...
 
QWidget * loadForm (const QString &path, QWidget *parent=0)
 Loads the main widget from a QtDesigner form. More...
 

Variables

const MIDIData MIDI_VALUE_NOT_SET = 0x80
 A MIDIData value that refers to unset values. More...
 
const SampleChannelCount SAMPLE_CHANNEL_COUNT_MINIMUM = 1
 The minimum valid sample channel count. More...
 
const SampleChannelCount SAMPLE_CHANNEL_COUNT_MAXIMUM = 65535
 The maximum valid sample channel count. More...
 
const SampleRate SAMPLE_RATE_MINIMUM = 1
 The minimum valid sample rate. More...
 
const SampleRate SAMPLE_RATE_MAXIMUM = 2147483647
 The maximum valid sample rate. More...
 
const SampleTime SAMPLE_TIME_MINIMUM = 1e-15
 The minimum valid sample time. More...
 
const SampleTime SAMPLE_TIME_MAXIMUM = 512.0
 The maximum valid sample time. More...
 

Typedef Documentation

typedef quint8 synthclone::MIDIData

Holds a byte of MIDI data.

Holds a sample channel count.

Holds a count of sample frames, or an offset with sample frames.

typedef quint32 synthclone::SampleRate

Holds a sample rate.

typedef float synthclone::SampleTime

Holds a sample time (in seconds).

Enumeration Type Documentation

MIDI control types.

Enumerator
CONTROLTYPE_UNDEFINED 
CONTROLTYPE_COMMAND 
CONTROLTYPE_CONTINUOUS 
CONTROLTYPE_MONO_MODE 
CONTROLTYPE_SWITCH 

Menu identifiers for default synthclone menus.

Enumerator
MENU_ADD_EFFECT 
MENU_ADD_SAMPLER 
MENU_ADD_TARGET 
MENU_HELP 
MENU_SESSION 
MENU_TOOLS 
MENU_VIEW 
MENU_ZONES 

Defines session states.

Enumerator
SESSIONSTATE_CURRENT 
SESSIONSTATE_LOADING 
SESSIONSTATE_MODIFIED 
SESSIONSTATE_SAVING 
SESSIONSTATE_UNLOADING 

Function Documentation

template<typename T >
T* synthclone::getChild ( const QObject *  object,
const QString &  name = QString() 
)
inline

Finds a child object of an object.

If the child object is not found, then an error message is printed and the program is aborted.

Parameters
objectThe parent object.
nameThe name of the child object to find.
Returns
The child object.
QString synthclone::getMIDIControlString ( MIDIData  control)

Gets a string representation of a MIDI control.

Parameters
controlThe MIDI control.
Returns
The string representation of the MIDI control.
ControlType synthclone::getMIDIControlType ( MIDIData  control)

Gets the default MIDI control type.

Parameters
controlThe MIDI control.
Returns
The default MIDI control type.
QString synthclone::getMIDINoteString ( MIDIData  note)

Gets a string representation of a MIDI note.

Parameters
noteThe MIDI note.
Returns
The string representation of the MIDI note.
QString synthclone::getSampleFilenameExtension ( SampleStream::Type  type)

Gets an appropriate filename extension for a sample type.

Parameters
typeThe SampleStream::Type.
Returns
An appropriate filename extension for the given type.
QWidget* synthclone::loadForm ( const QString &  path,
QWidget *  parent = 0 
)

Loads the main widget from a QtDesigner form.

If the widget can't be loaded, then an error message is printed and the program is aborted.

Parameters
pathThe path to the form.
parentThe optional parent widget of the widget being loaded.
Returns
The loaded widget.

Variable Documentation

const MIDIData synthclone::MIDI_VALUE_NOT_SET = 0x80

A MIDIData value that refers to unset values.

This is only useful for comparing unsigned 7-bit MIDI values.

const SampleChannelCount synthclone::SAMPLE_CHANNEL_COUNT_MAXIMUM = 65535

The maximum valid sample channel count.

const SampleChannelCount synthclone::SAMPLE_CHANNEL_COUNT_MINIMUM = 1

The minimum valid sample channel count.

const SampleRate synthclone::SAMPLE_RATE_MAXIMUM = 2147483647

The maximum valid sample rate.

I don't think anyone is going to request a sample rate this high, but I don't see a good reason to stop a person from requesting a sample rate if they think it's reasonable.

The reason the sampling rate isn't (2 ** 32) - 1 is because libsndfile holds its sample rate in an 'int'.

const SampleRate synthclone::SAMPLE_RATE_MINIMUM = 1

The minimum valid sample rate.

I don't see 1 as being a practical sample rate, but I don't see a reason why I shouldn't let it happen if that's the user's wish.

const SampleTime synthclone::SAMPLE_TIME_MAXIMUM = 512.0

The maximum valid sample time.

The value is arbitrary. I'm open to changing the value if there's a good reason to do so.

const SampleTime synthclone::SAMPLE_TIME_MINIMUM = 1e-15

The minimum valid sample time.

This number just needs to be above 0.0.