RADLib
RADical C++ application framework
RADMedia Namespace Reference

Classes

struct  WavFormat
 PCM/WAV stream format description. More...
 
class  WavFile
 In-memory WAV file representation for smaller files and tests. More...
 
class  WavStreamReader
 Streaming WAV reader that avoids loading the whole file up front. More...
 
struct  AudioSinkDevice
 Output audio device descriptor. More...
 
struct  AudioSourceDevice
 Input audio device descriptor. More...
 
class  AudioDevice
 Static audio device enumeration helpers. More...
 
struct  MidiInputDeviceInfo
 ALSA raw-MIDI input device descriptor. More...
 
struct  MidiMessage
 One decoded real-time MIDI message read from an input device. More...
 
class  MidiInputDevice
 ALSA raw-MIDI input wrapper for USB MIDI controllers and DIN adapters. More...
 
struct  AudioBuffer
 Float32 interleaved decoded audio buffer. More...
 
struct  MidiNoteEvent
 One scheduled MIDI note event. More...
 
struct  MidiProgramChange
 One scheduled MIDI program change. More...
 
struct  MidiPitchBend
 One scheduled MIDI pitch-bend event. More...
 
struct  MidiClip
 Lightweight MIDI clip for preview rendering and RADBard score/piano-roll playback. More...
 
struct  MusicXmlNoteEvent
 MIDI-like note event for MusicXML score generation. More...
 
struct  MusicXmlHairpinEvent
 Crescendo or decrescendo span for MusicXML score generation. More...
 
struct  MusicXmlRepeatEvent
 Repeat barline span for compact MusicXML score notation. More...
 
struct  MusicXmlRehearsalEvent
 Rehearsal/section mark displayed above a measure. More...
 
struct  MusicXmlScoreOptions
 Options controlling MusicXML score generation. More...
 
class  MusicXml
 MusicXML helper for score export and notation renderers such as Verovio. More...
 
struct  SoundFontInfo
 Discovered SoundFont descriptor. More...
 
struct  SoundFontPreset
 One SoundFont preset/program exposed by a SoundFont file. More...
 
class  SoundFontCatalog
 SoundFont file discovery helpers. This does not load or link a synth engine. More...
 
class  MidiSynthesizer
 
class  AudioDecoder
 Whole-file audio decoder facade. More...
 
class  AudioDecoderStream
 Streaming decoder facade for long audio files. More...
 
class  RADAudioDevice
 ALSA-backed input or output audio device implementing RADIODevice. More...
 
class  AudioInputDevice
 Convenience input-only audio device. More...
 
class  AudioPlayer
 Convenience WAV/audio playback object with sync and async APIs. More...
 

Enumerations

enum class  AudioSampleFormat {
  Unknown , UInt8 , Int16 , Int24 ,
  Int32 , Float32
}
 Sample encodings supported by RADMedia audio paths. More...
 
enum class  AudioDeviceDirection { Input , Output }
 Direction used when opening or enumerating audio devices. More...
 
enum class  MidiMessageType {
  NoteOff , NoteOn , ControlChange , ProgramChange ,
  PitchBend , Other
}
 Decoded real-time MIDI message kind. More...
 
enum class  MusicXmlStaffMode { Treble , Bass , GrandStaff }
 Staff layout used when generating MusicXML from MIDI-style note events. More...
 
enum class  SoundFontType { Unknown , SF2 , SF3 }
 Known SoundFont file type. More...
 

Enumeration Type Documentation

◆ AudioDeviceDirection

Direction used when opening or enumerating audio devices.

Enumerator
Input 

Capture audio from an input device.

Output 

Play audio to an output device.

◆ AudioSampleFormat

Sample encodings supported by RADMedia audio paths.

Enumerator
Unknown 

Unknown or unsupported sample format.

UInt8 

Unsigned 8-bit PCM.

Int16 

Signed 16-bit PCM.

Int24 

Signed packed 24-bit PCM.

Int32 

Signed 32-bit PCM.

Float32 

32-bit floating-point PCM.

◆ MidiMessageType

Decoded real-time MIDI message kind.

Enumerator
NoteOff 

MIDI channel note-off.

NoteOn 

MIDI channel note-on. A note-on with velocity zero is reported as NoteOff.

ControlChange 

MIDI channel control-change.

ProgramChange 

MIDI channel program-change.

PitchBend 

MIDI channel pitch-bend.

Other 

Other channel/system message not decoded into a richer kind.

◆ MusicXmlStaffMode

Staff layout used when generating MusicXML from MIDI-style note events.

Enumerator
Treble 

Single treble clef staff.

Bass 

Single bass clef staff.

GrandStaff 

Two-staff piano style score, split around MusicXmlScoreOptions::grandStaffSplitNote.

◆ SoundFontType

Known SoundFont file type.

Enumerator
Unknown 

Unknown or unsupported SoundFont-like file.

SF2 

SF2 SoundFont 2 file.

SF3 

SF3 compressed SoundFont file.