Studio API Reference | Common

6. Studio API Reference | Common

Loading State:

Parameters:


Playback State:

Profiling:

Utility Functions:

FMOD_STUDIO_LOADING_STATE

Loading state of various objects.

C
C++
C#
JS

typedef enum FMOD_STUDIO_LOADING_STATE {
  FMOD_STUDIO_LOADING_STATE_UNLOADING,
  FMOD_STUDIO_LOADING_STATE_UNLOADED,
  FMOD_STUDIO_LOADING_STATE_LOADING,
  FMOD_STUDIO_LOADING_STATE_LOADED,
  FMOD_STUDIO_LOADING_STATE_ERROR
} FMOD_STUDIO_LOADING_STATE;
FMOD_STUDIO_LOADING_STATE_UNLOADING
Currently unloading.
FMOD_STUDIO_LOADING_STATE_UNLOADED
Not loaded.
FMOD_STUDIO_LOADING_STATE_LOADING
Loading in progress.
FMOD_STUDIO_LOADING_STATE_LOADED
Loaded and ready to play.
FMOD_STUDIO_LOADING_STATE_ERROR
Failed to load.

See Also: Studio::Bank::getLoadingState, Studio::Bank::getSampleLoadingState, Studio::EventDescription::getSampleLoadingState

FMOD_STUDIO_MEMORY_USAGE

Memory usage statistics.

C
C++
C#
JS

typedef struct FMOD_STUDIO_MEMORY_USAGE {
  int exclusive;
  int inclusive;
  int sampledata;
} FMOD_STUDIO_MEMORY_USAGE;
exclusive
Size of memory belonging to the bus or event instance.
inclusive
Size of memory belonging exclusively to the bus or event pus the inclusive memory sizes of all buses and event instances which route into it.
sampledata
Size of shared sample memory referenced by the bus or event instance, inclusive of all sample memory referenced by all buses and event instances which route into it.

Memory usage exclusive and inclusive values do not include sample data loaded in memory because sample data is a shared resource. Streaming sample data is not a shared resource and is included in the exclusive and inclusive values.

See Also: FMOD_STUDIO_INIT_MEMORY_TRACKING, Studio::System::getMemoryUsage, Studio::Bus::getMemoryUsage, Studio::EventInstance::getMemoryUsage

FMOD_STUDIO_PARAMETER_DESCRIPTION

Describes an event parameter.

C
C++
C#
JS

typedef struct FMOD_STUDIO_PARAMETER_DESCRIPTION {
  const char                  *name;
  FMOD_STUDIO_PARAMETER_ID     id;
  float                        minimum;
  float                        maximum;
  float                        defaultvalue;
  FMOD_STUDIO_PARAMETER_TYPE   type;
  FMOD_STUDIO_PARAMETER_FLAGS  flags;
} FMOD_STUDIO_PARAMETER_DESCRIPTION;
name
Parameter name. (UTF-8 string)
id
Parameter id. (FMOD_STUDIO_PARAMETER_ID)
minimum
Minimum parameter value.
maximum
Maximum parameter value.
defaultvalue
Default parameter value.
type
Parameter type. (FMOD_STUDIO_PARAMETER_TYPE)
flags
Parameter behavior flags. (FMOD_STUDIO_PARAMETER_FLAGS)

See Also: Studio::System::getParameterDescriptionByName, Studio::System::getParameterDescriptionByID, Studio::EventDescription::getParameterDescriptionByName, Studio::EventDescription::getParameterDescriptionByID

FMOD_STUDIO_PARAMETER_FLAGS

Flags describing the behavior of a parameter.

C
C++
C#
JS

#define FMOD_STUDIO_PARAMETER_READONLY              0x00000001
#define FMOD_STUDIO_PARAMETER_AUTOMATIC             0x00000002
#define FMOD_STUDIO_PARAMETER_GLOBAL                0x00000004
FMOD_STUDIO_PARAMETER_READONLY
Read only.
FMOD_STUDIO_PARAMETER_AUTOMATIC
Automatic parameter.
FMOD_STUDIO_PARAMETER_GLOBAL
Global Parameter.

See also: FMOD_STUDIO_PARAMETER_DESCRIPTION

FMOD_STUDIO_PARAMETER_ID

Describes an event parameter identifier.

C
C++
C#
JS

typedef struct FMOD_STUDIO_PARAMETER_ID
{
    unsigned int data1;
    unsigned int data2;
} FMOD_STUDIO_PARAMETER_ID;
data1
First half of the ID.
data2
Second half of the ID.

See also: FMOD_STUDIO_PARAMETER_DESCRIPTION

FMOD_STUDIO_PARAMETER_TYPE

Event parameter types.

C
C++
C#
JS

typedef enum FMOD_STUDIO_PARAMETER_TYPE {
  FMOD_STUDIO_PARAMETER_GAME_CONTROLLED,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_CONE_ANGLE,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_DIRECTION,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_ELEVATION,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION,
  FMOD_STUDIO_PARAMETER_AUTOMATIC_SPEED,
  FMOD_STUDIO_PARAMETER_MAX
} FMOD_STUDIO_PARAMETER_TYPE;
FMOD_STUDIO_PARAMETER_GAME_CONTROLLED
API settable parameter.
FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE
Distance between the event and the listener.
FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_CONE_ANGLE
Angle between the event's forward vector and the vector pointing from the event to the listener (0 to 180 degrees).
FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION
Horizontal angle between the event's forward vector and listener's forward vector (-180 to 180 degrees).
FMOD_STUDIO_PARAMETER_AUTOMATIC_DIRECTION
Horizontal angle between the listener's forward vector and the vector pointing from the listener to the event (-180 to 180 degrees).
FMOD_STUDIO_PARAMETER_AUTOMATIC_ELEVATION
Angle between the listener's XZ plane and the vector pointing from the listener to the event (-90 to 90 degrees).
FMOD_STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION
Horizontal angle between the listener's forward vector and the global positive Z axis (-180 to 180 degrees).
FMOD_STUDIO_PARAMETER_AUTOMATIC_SPEED
Magnitude of the relative velocity of the event and the listener.
FMOD_STUDIO_PARAMETER_MAX
Maximum number of parameter types supported.

FMOD_STUDIO_PARAMETER_GAME_CONTROLLED type parameters may have their values set using the API. All other parameter types have their values automatically set by FMOD Studio when the system is updated.

The horizontal angle between vectors is found by projecting both vector's onto a plane and taking the angle between the projected vectors. For FMOD_STUDIO_PARAMETER_AUTOMATIC_EVENT_ORIENTATION and FMOD_STUDIO_PARAMETER_AUTOMATIC_DIRECTION type parameters the vectors are projected onto the listener's XZ plane. For FMOD_STUDIO_PARAMETER_AUTOMATIC_LISTENER_ORIENTATION type parameters the vectors are projected onto the global XZ plane.

See Also: FMOD_STUDIO_PARAMETER_DESCRIPTION

Studio::parseID

Parses a GUID from a string.

C
C++
C#
JS

FMOD_RESULT Studio::parseID(
  const char *idstring,
  FMOD_GUID *id
);
idstring
String representation of the GUID. (UTF-8 string)
id Out
GUID. (FMOD_GUID)

This function expects the string representation to be formatted as 32 digits separated by hyphens and enclosed in braces: {00000000-0000-0000-0000-000000000000}.

FMOD_STUDIO_PLAYBACK_STATE

Playback state of various objects.

C
C++
C#
JS

typedef enum FMOD_STUDIO_PLAYBACK_STATE {
  FMOD_STUDIO_PLAYBACK_PLAYING,
  FMOD_STUDIO_PLAYBACK_SUSTAINING,
  FMOD_STUDIO_PLAYBACK_STOPPED,
  FMOD_STUDIO_PLAYBACK_STARTING,
  FMOD_STUDIO_PLAYBACK_STOPPING
} FMOD_STUDIO_PLAYBACK_STATE;
FMOD_STUDIO_PLAYBACK_PLAYING
Playing.
FMOD_STUDIO_PLAYBACK_SUSTAINING
The timeline cursor is paused on a sustain point. (Studio::EventInstance only.)
FMOD_STUDIO_PLAYBACK_STOPPED
Stopped.
FMOD_STUDIO_PLAYBACK_STARTING
Preparing to start.
FMOD_STUDIO_PLAYBACK_STOPPING
Preparing to stop.

See Also: Studio::CommandReplay::getPlaybackState, Studio::EventInstance::getPlaybackState