# Amuse: amuse::Sequencer Class Reference

amuse::Sequencer Class Reference

`#include <Sequencer.hpp>`

Inheritance diagram for amuse::Sequencer:
Collaboration diagram for amuse::Sequencer:

## Public Member Functions

| Sequencer (Engine &engine, const AudioGroup &group, int groupId, const SongGroupIndex &songGroup, int setupId, Submix *smx)
void | advance (double dt)
Submix * | getSubmix ()
SequencerState | state () const
size_t | getVoiceCount () const
std::shared_ptr< Voice > | keyOn (uint8_t chan, uint8_t note, uint8_t velocity)
void | keyOff (uint8_t chan, uint8_t note, uint8_t velocity)
void | setCtrlValue (uint8_t chan, uint8_t ctrl, int8_t val)
void | setPitchWheel (uint8_t chan, float pitchWheel)
void | allOff (bool now=false)
void | killKeygroup (uint8_t kg, bool now)
std::shared_ptr< Voice > | findVoice (int vid)
void | sendMacroMessage (ObjectId macroId, int32_t val)
void | setTempo (double ticksPerSec)
void | playSong (const unsigned char *arrData, bool dieOnEnd=true)
void | setVolume (float vol)
int8_t | getChanProgram (int8_t chanId) const
bool | setChanProgram (int8_t chanId, int8_t prog)
void | nextChanProgram (int8_t chanId)
void | prevChanProgram (int8_t chanId)
void | kill ()
Public Member Functions inherited from amuse::Entity
| Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId())
Engine & | getEngine ()
const AudioGroup & | getAudioGroup () const
int | getGroupId () const
ObjectId | getObjectId () const

## Friends

class | Engine

## Additional Inherited Members

Protected Member Functions inherited from amuse::Entity
void | _destroy ()
Protected Attributes inherited from amuse::Entity
bool | m_destroyed = false
Engine & | m_engine
const AudioGroup & | m_audioGroup
int | m_groupId
ObjectId | m_objectId = 0xffff

## Detailed Description

Multi-voice lifetime manager and polyphonic parameter tracking

Definition at line 27 of file Sequencer.hpp.

## Member Function Documentation

void amuse::Sequencer::advance | ( | double | dt | ) |

Advance current song data (if any)

void amuse::Sequencer::allOff | ( | bool | now = `false` | ) |

Send keyoffs to all active notes, silence immediately if `now` set

std::shared_ptr<Voice> amuse::Sequencer::findVoice | ( | int | vid | ) |

Find voice instance contained within Sequencer

int8_t amuse::Sequencer::getChanProgram | ( | int8_t | chanId | ) | const

Get current program number of channel

Submix* amuse::Sequencer::getSubmix | ( |  | ) |

inline

Obtain pointer to Sequencer's Submix

Definition at line 92 of file Sequencer.hpp.

size_t amuse::Sequencer::getVoiceCount | ( |  | ) | const

Get number of active voices

void amuse::Sequencer::keyOff | ( | uint8_t | chan,
|  | uint8_t | note,
|  | uint8_t | velocity
| ) |  |

Register key release with voice set

std::shared_ptr<Voice> amuse::Sequencer::keyOn | ( | uint8_t | chan,
|  | uint8_t | note,
|  | uint8_t | velocity
| ) |  |

Register key press with voice set

void amuse::Sequencer::kill | ( |  | ) |

inline

Manually kill sequencer for deferred release from engine

Definition at line 146 of file Sequencer.hpp.

void amuse::Sequencer::killKeygroup | ( | uint8_t | kg,
|  | bool | now
| ) |  |

Stop all voices in `kg`, stops immediately (no KeyOff) when `now` set

void amuse::Sequencer::nextChanProgram | ( | int8_t | chanId | ) |

Advance to next program in channel

void amuse::Sequencer::playSong | ( | const unsigned char * | arrData,
|  | bool | dieOnEnd = `true`
| ) |  |

Play MIDI arrangement

void amuse::Sequencer::prevChanProgram | ( | int8_t | chanId | ) |

Advance to prev program in channel

void amuse::Sequencer::sendMacroMessage | ( | ObjectId | macroId,
|  | int32_t | val
| ) |  |

Send all voices using `macroId` the message `val`

bool amuse::Sequencer::setChanProgram | ( | int8_t | chanId,
|  | int8_t | prog
| ) |  |

Set current program number of channel

void amuse::Sequencer::setCtrlValue | ( | uint8_t | chan,
|  | uint8_t | ctrl,
|  | int8_t | val
| ) |  |

Set MIDI control value [0,127] for all voices

void amuse::Sequencer::setPitchWheel | ( | uint8_t | chan,
|  | float | pitchWheel
| ) |  |

Set pitchwheel value for use with voice controllers

void amuse::Sequencer::setTempo | ( | double | ticksPerSec | ) |

Set tempo of sequencer and all voices in ticks per second

void amuse::Sequencer::setVolume | ( | float | vol | ) |

Set total volume of sequencer

SequencerState amuse::Sequencer::state | ( |  | ) | const

inline

Get current state of sequencer

Definition at line 95 of file Sequencer.hpp.

The documentation for this class was generated from the following file:

- include/amuse/Sequencer.hpp