NS_TIMIDITY Namespace Reference


Classes

struct  PathList
struct  ControlMode
struct  Sample
struct  Instrument
struct  ToneBankElement
struct  ToneBank
struct  PlayMode
struct  MidiSong
struct  MidiEvent
struct  Channel
struct  Voice
struct  MidiEventList

Typedefs

typedef sint8 sample_t
typedef uint8 final_volume_t
typedef sint16 sample_t
typedef sint32 final_volume_t

Functions

static int read_config_file (const char *name)
int Timidity_Init (int rate, int format, int channels, int samples)
int Timidity_Init_Simple (int rate, int samples, sint32 encoding)
void Timidity_DeInit ()
char * Timidity_Error (void)
void Timidity_SetVolume (int volume)
int Timidity_PlaySome (void *stream, int samples)
MidiSongTimidity_LoadSong (char *midifile)
void Timidity_Start (MidiSong *song)
int Timidity_Active (void)
void Timidity_Stop (void)
void Timidity_FreeSong (MidiSong *song)
void Timidity_FinalInit (bool patches[128], bool drums[128])
void Timidity_PlayEvent (unsigned char status, int a, int b)
void Timidity_GenerateSamples (void *stream, int samples)
static FILE * try_to_open (char *name, int decompress, int noise_mode)
FILE * open_file (const char *name, int decompress, int noise_mode)
void close_file (FILE *fp)
void skip (FILE *fp, size_t len)
void * safe_malloc (size_t count)
void add_to_pathlist (char *s)
template<class T>
T * safe_Malloc (size_t count=1)
static float ino (float x)
static void kaiser (float *w, int n, float beta)
static void designfir (float *g, float fc)
static void filter (sample_t *result, sample_t *data, sint32 length, float coef[])
void antialiasing (Sample *sp, sint32 output_rate)
static void free_instrument (Instrument *ip)
static void free_bank (int dr, int b)
static sint32 convert_envelope_rate (uint8 rate)
static sint32 convert_envelope_offset (uint8 offset)
static sint32 convert_tremolo_sweep (uint8 sweep)
static sint32 convert_vibrato_sweep (uint8 sweep, sint32 vib_control_ratio)
static sint32 convert_tremolo_rate (uint8 rate)
static sint32 convert_vibrato_rate (uint8 rate)
static void reverse_data (sint16 *sp, sint32 ls, sint32 le)
static Instrumentload_instrument (char *name, int percussion, int panning, int amp, int note_to_use, int strip_loop, int strip_envelope, int strip_tail)
static int fill_bank (int dr, int b)
int load_missing_instruments (void)
void free_instruments (void)
int set_default_instrument (char *name)
int recompute_envelope (int v)
void apply_envelope_to_amp (int v)
static int update_envelope (int v)
static void update_tremolo (int v)
static int update_signal (int v)
static void mix_mystery_signal (sample_t *sp, sint32 *lp, int v, int count)
static void mix_center_signal (sample_t *sp, sint32 *lp, int v, int count)
static void mix_single_signal (sample_t *sp, sint32 *lp, int v, int count)
static void mix_mono_signal (sample_t *sp, sint32 *lp, int v, int count)
static void mix_mystery (sample_t *sp, sint32 *lp, int v, int count)
static void mix_center (sample_t *sp, sint32 *lp, int v, int count)
static void mix_single (sample_t *sp, sint32 *lp, int v, int count)
static void mix_mono (sample_t *sp, sint32 *lp, int v, int count)
static void ramp_out (sample_t *sp, sint32 *lp, int v, sint32 c)
void mix_voice (sint32 *buf, int v, sint32 c)
void s32tos8 (void *dp, sint32 *lp, sint32 c)
void s32tou8 (void *dp, sint32 *lp, sint32 c)
void s32tos16 (void *dp, sint32 *lp, sint32 c)
void s32tou16 (void *dp, sint32 *lp, sint32 c)
void s32tos16x (void *dp, sint32 *lp, sint32 c)
void s32tou16x (void *dp, sint32 *lp, sint32 c)
void s32toulaw (void *dp, sint32 *lp, sint32 c)
int init_buffers (int kbytes)
static void adjust_amplification (void)
static void reset_voices (void)
static void reset_controllers (int c)
static void redraw_controllers (int c)
static void reset_midi (void)
static void select_sample (int v, Instrument *ip)
static void recompute_freq (int v)
static void recompute_amp (int v)
static void start_note (MidiEvent *e, int i)
static void kill_note (int i)
static void note_on (MidiEvent *e)
static void finish_note (int i)
static void note_off (MidiEvent *e)
static void all_notes_off (int c)
static void all_sounds_off (int c)
static void adjust_pressure (MidiEvent *e)
static void adjust_panning (int c)
static void drop_sustain (int c)
static void adjust_pitchbend (int c)
static void adjust_volume (int c)
static void seek_forward (sint32 until_time)
static void skip_to (sint32 until_time)
static int apply_controls (void)
static void do_compute_data (sint32 count)
static int compute_data (void *stream, sint32 count)
int play_midi (MidiEvent *el, sint32 events, sint32 samples)
int play_midi_file (char *fn)
void dumb_pass_playing_list (int number_of_files, char *list_of_files[])
static void compute_sample_increment (sint32 tempo, sint32 divisions)
static sint32 getvl (void)
static int dumpstring (sint32 len, char *label)
static MidiEventListread_midi_event (void)
static int read_track (int append)
static void free_midi_list (void)
static MidiEventgroom_list (sint32 divisions, sint32 *eventsp, sint32 *samplesp)
MidiEventread_midi_file (FILE *mfp, sint32 *count, sint32 *sp)
static sample_trs_plain (int v, sint32 *countptr)
static sample_trs_loop (Voice *vp, sint32 count)
static sample_trs_bidir (Voice *vp, sint32 count)
static int vib_phase_to_inc_ptr (int phase)
static sint32 update_vibrato (Voice *vp, int sign)
static sample_trs_vib_plain (int v, sint32 *countptr)
static sample_trs_vib_loop (Voice *vp, sint32 count)
static sample_trs_vib_bidir (Voice *vp, sint32 count)
sample_tresample_voice (int v, sint32 *countptr)
void pre_resample (Sample *sp)
static void ctl_refresh (void)
static void ctl_total_time (int tt)
static void ctl_master_volume (int mv)
static void ctl_file_name (char *name)
static void ctl_current_time (int ct)
static void ctl_note (int v)
static void ctl_program (int ch, int val)
static void ctl_volume (int channel, int val)
static void ctl_expression (int channel, int val)
static void ctl_panning (int channel, int val)
static void ctl_sustain (int channel, int val)
static void ctl_pitch_bend (int channel, int val)
static void ctl_reset (void)
static int ctl_open (int using_stdin, int using_stdout)
static void ctl_close (void)
static int ctl_read (sint32 *valp)
static int cmsg (int type, int verbosity_level, char *fmt,...)
float sine (int x)
void init_tables (void)

Variables

void(*) s32tobuf (void *dp, sint32 *lp, sint32 c)
int free_instruments_afterwards = 0
static char def_instr_name [256] = ""
int AUDIO_BUFFER_SIZE
sample_tresample_buffer = 0
sint32common_buffer = 0
char timidity_error [1024] = ""
char current_filename [1024]
static PathList defaultpathlist = {DEFAULT_TIMIDITY_PATH,0}
static PathListpathlist = &defaultpathlist
static PathListpathlist = 0
char * program_name
FILE * msgfp
ControlMode sdl_control_mode
ControlModectl_list []
ControlModectl = DEFAULT_CONTROL_MODE
ControlModectl_list []
ControlModectl
static ToneBank standard_tonebank
static ToneBank standard_drumset
ToneBanktonebank [128] = {&standard_tonebank}
ToneBankdrumset [128] = {&standard_drumset}
Instrumentdefault_instrument = 0
int default_program = DEFAULT_PROGRAM
int antialiasing_allowed = 0
int fast_decay = 1
int fast_decay = 0
Instrumentdefault_instrument
int default_program
int antialiasing_allowed
int fast_decay
int free_instruments_afterwards
PlayMode sdl_play_mode
PlayModeplay_mode_list []
PlayModeplay_mode = DEFAULT_PLAY_MODE
PlayModeplay_mode_list []
PlayModeplay_mode
int AUDIO_BUFFER_SIZE
void(*) s32tobuf (void *dp, sint32 *lp, sint32 c)
Channel channel [16]
Voice voice [MAX_VOICES]
int voices = DEFAULT_VOICES
sint32 control_ratio = 0
sint32 amplification = DEFAULT_AMPLIFICATION
float master_volume
sint32 drumchannels = DEFAULT_DRUMCHANNELS
int adjust_panning_immediately = 1
static int midi_playing = 0
static sint32 lost_notes
static sint32 cut_notes
static sint32buffer_pointer
static sint32 buffered_count
sint32common_buffer
static MidiEventevent_list
static MidiEventcurrent_event
static sint32 sample_count
static sint32 current_sample
Channel channel [16]
Voice voice [MAX_VOICES]
sint32 control_ratio
sint32 amp_with_poly
sint32 amplification
sint32 drumchannels
int adjust_panning_immediately
int voices
sint32 quietchannels = 0
static MidiEventListevlist
static sint32 event_count
static FILE * fp
static sint32 at
static sint32 sample_increment
static sint32 sample_correction
sint32 quietchannels
sample_tresample_buffer
PlayMode dpm
ControlMode ctl
sint32 freq_table [128]
double vol_table [128]
double bend_fine [256]
double bend_coarse [128]
static double sine_table [257]
sint16 _u2l []
sint32mixup
sint8iplookup
uint8 _l2u_ []
uint8_l2u = _l2u_ + 4096
uint8_l2u
uint8 _l2u_ []
sint16 _u2l []
sint32mixup
sint8iplookup


Typedef Documentation

typedef sint8 NS_TIMIDITY::sample_t

Definition at line 252 of file timidity.h.

typedef uint8 NS_TIMIDITY::final_volume_t

Definition at line 253 of file timidity.h.

typedef sint16 NS_TIMIDITY::sample_t

Definition at line 258 of file timidity.h.

typedef sint32 NS_TIMIDITY::final_volume_t

Definition at line 259 of file timidity.h.


Function Documentation

static int NS_TIMIDITY::read_config_file ( const char *  name  )  [static]

Definition at line 61 of file timidity.cpp.

References add_to_pathlist(), NS_TIMIDITY::ToneBankElement::amp, close_file(), NS_TIMIDITY::ControlMode::cmsg, ctl, def_instr_name, drumset, fp, line, NS_TIMIDITY::ToneBankElement::name, NS_TIMIDITY::ToneBankElement::note, open_file(), NS_TIMIDITY::ToneBankElement::pan, NS_TIMIDITY::ToneBankElement::strip_envelope, NS_TIMIDITY::ToneBankElement::strip_loop, NS_TIMIDITY::ToneBankElement::strip_tail, NS_TIMIDITY::ToneBank::tone, and tonebank.

Referenced by Timidity_Init(), and Timidity_Init_Simple().

int NS_TIMIDITY::Timidity_Init ( int  rate,
int  format,
int  channels,
int  samples 
)

Definition at line 306 of file timidity.cpp.

References AUDIO_BUFFER_SIZE, NS_TIMIDITY::ControlMode::cmsg, common_buffer, control_ratio, ctl, def_instr_name, NS_TIMIDITY::PlayMode::encoding, NS_TIMIDITY::ControlMode::id_name, init_tables(), NS_TIMIDITY::ControlMode::open, play_mode, NS_TIMIDITY::PlayMode::rate, read_config_file(), resample_buffer, s32tobuf, s32tos8(), s32tou8(), and set_default_instrument().

int NS_TIMIDITY::Timidity_Init_Simple ( int  rate,
int  samples,
sint32  encoding 
)

Definition at line 373 of file timidity.cpp.

References AUDIO_BUFFER_SIZE, NS_TIMIDITY::ControlMode::cmsg, common_buffer, control_ratio, ctl, def_instr_name, NS_TIMIDITY::PlayMode::encoding, SettingManager::get(), SettingManager::get_instance(), NS_TIMIDITY::ControlMode::id_name, init_tables(), NS_TIMIDITY::ControlMode::open, play_mode, NS_TIMIDITY::PlayMode::rate, read_config_file(), resample_buffer, s32tobuf, s32tos16(), s32tos16x(), s32tos8(), s32tou16(), s32tou16x(), s32tou8(), s32toulaw(), and set_default_instrument().

Referenced by TimidityMidiDriver::open().

void NS_TIMIDITY::Timidity_DeInit (  ) 

Definition at line 468 of file timidity.cpp.

References common_buffer, free_instruments(), and resample_buffer.

Referenced by TimidityMidiDriver::close().

char * NS_TIMIDITY::Timidity_Error ( void   ) 

Definition at line 481 of file timidity.cpp.

References timidity_error.

Referenced by TimidityMidiDriver::open().

void NS_TIMIDITY::Timidity_SetVolume ( int  volume  ) 

Definition at line 893 of file timidity_playmidi.cpp.

References adjust_amplification(), amplification, apply_envelope_to_amp(), ctl, NS_TIMIDITY::ControlMode::master_volume, recompute_amp(), voice, and voices.

int NS_TIMIDITY::Timidity_PlaySome ( void *  stream,
int  samples 
)

Definition at line 765 of file timidity_playmidi.cpp.

References NS_TIMIDITY::MidiEvent::a, adjust_panning(), adjust_panning_immediately, adjust_pitchbend(), adjust_pressure(), adjust_volume(), all_notes_off(), all_sounds_off(), NS_TIMIDITY::MidiEvent::b, NS_TIMIDITY::Channel::bank, NS_TIMIDITY::MidiEvent::channel, channel, NS_TIMIDITY::ControlMode::cmsg, compute_data(), ctl, current_event, current_sample, cut_notes, drop_sustain(), NS_TIMIDITY::ControlMode::expression, NS_TIMIDITY::Channel::expression, lost_notes, midi_playing, note_off(), note_on(), NS_TIMIDITY::ControlMode::panning, NS_TIMIDITY::Channel::panning, NS_TIMIDITY::ControlMode::pitch_bend, NS_TIMIDITY::Channel::pitchbend, NS_TIMIDITY::Channel::pitchfactor, NS_TIMIDITY::Channel::pitchsens, play_mode, NS_TIMIDITY::ControlMode::program, NS_TIMIDITY::Channel::program, NS_TIMIDITY::PlayMode::rate, redraw_controllers(), NS_TIMIDITY::ControlMode::refresh, reset_controllers(), NS_TIMIDITY::ControlMode::sustain, NS_TIMIDITY::Channel::sustain, NS_TIMIDITY::MidiEvent::time, NS_TIMIDITY::MidiEvent::type, NS_TIMIDITY::ControlMode::volume, and NS_TIMIDITY::Channel::volume.

MidiSong * NS_TIMIDITY::Timidity_LoadSong ( char *  midifile  ) 

Definition at line 913 of file timidity_playmidi.cpp.

References close_file(), fp, open_file(), and read_midi_file().

void NS_TIMIDITY::Timidity_Start ( MidiSong *  song  ) 

Definition at line 938 of file timidity_playmidi.cpp.

References adjust_amplification(), cut_notes, event_list, NS_TIMIDITY::MidiSong::events, load_missing_instruments(), lost_notes, midi_playing, sample_count, NS_TIMIDITY::MidiSong::samples, and skip_to().

int NS_TIMIDITY::Timidity_Active ( void   ) 

Definition at line 950 of file timidity_playmidi.cpp.

References midi_playing.

void NS_TIMIDITY::Timidity_Stop ( void   ) 

Definition at line 955 of file timidity_playmidi.cpp.

References midi_playing.

void NS_TIMIDITY::Timidity_FreeSong ( MidiSong *  song  ) 

Definition at line 960 of file timidity_playmidi.cpp.

References NS_TIMIDITY::MidiSong::events, free_instruments(), and free_instruments_afterwards.

void NS_TIMIDITY::Timidity_FinalInit ( bool  patches[128],
bool  drums[128] 
)

Definition at line 1105 of file timidity_playmidi.cpp.

References adjust_amplification(), cut_notes, drumset, event_list, load_missing_instruments(), lost_notes, midi_playing, sample_count, skip_to(), and tonebank.

Referenced by TimidityMidiDriver::open().

void NS_TIMIDITY::Timidity_PlayEvent ( unsigned char  status,
int  a,
int  b 
)

Definition at line 975 of file timidity_playmidi.cpp.

References adjust_panning(), adjust_panning_immediately, adjust_pitchbend(), adjust_pressure(), adjust_volume(), all_notes_off(), all_sounds_off(), channel, ctl, drop_sustain(), NS_TIMIDITY::ControlMode::expression, NS_TIMIDITY::Channel::expression, note_off(), note_on(), NS_TIMIDITY::ControlMode::panning, NS_TIMIDITY::Channel::panning, NS_TIMIDITY::ControlMode::pitch_bend, NS_TIMIDITY::Channel::pitchbend, NS_TIMIDITY::Channel::pitchfactor, NS_TIMIDITY::ControlMode::program, NS_TIMIDITY::Channel::program, redraw_controllers(), reset_controllers(), NS_TIMIDITY::ControlMode::sustain, NS_TIMIDITY::Channel::sustain, NS_TIMIDITY::ControlMode::volume, and NS_TIMIDITY::Channel::volume.

Referenced by TimidityMidiDriver::send().

void NS_TIMIDITY::Timidity_GenerateSamples ( void *  stream,
int  samples 
)

Definition at line 1069 of file timidity_playmidi.cpp.

References AUDIO_BUFFER_SIZE, buffer_pointer, buffered_count, common_buffer, do_compute_data(), NS_TIMIDITY::PlayMode::encoding, play_mode, and s32tobuf.

Referenced by TimidityMidiDriver::lowLevelProduceSamples().

static FILE* NS_TIMIDITY::try_to_open ( char *  name,
int  decompress,
int  noise_mode 
) [static]

Definition at line 64 of file timidity_common.cpp.

References fp.

Referenced by open_file().

FILE * NS_TIMIDITY::open_file ( const char *  name,
int  decompress,
int  noise_mode 
)

Definition at line 123 of file timidity_common.cpp.

References NS_TIMIDITY::ControlMode::cmsg, ctl, current_filename, errno, fp, NS_TIMIDITY::PathList::next, NS_TIMIDITY::PathList::path, pathlist, strerror(), and try_to_open().

Referenced by load_instrument(), read_config_file(), and Timidity_LoadSong().

void NS_TIMIDITY::close_file ( FILE *  fp  ) 

Definition at line 198 of file timidity_common.cpp.

Referenced by load_instrument(), read_config_file(), and Timidity_LoadSong().

void NS_TIMIDITY::skip ( FILE *  fp,
size_t  len 
)

Definition at line 207 of file timidity_common.cpp.

References NS_TIMIDITY::ControlMode::cmsg, ctl, current_filename, errno, and strerror().

Referenced by load_instrument(), read_midi_event(), read_midi_file(), and ConvertShapeFrame::ReadCmpFrame().

void * NS_TIMIDITY::safe_malloc ( size_t  count  ) 

Definition at line 223 of file timidity_common.cpp.

References NS_TIMIDITY::ControlMode::close, NS_TIMIDITY::ControlMode::cmsg, and ctl.

Referenced by safe_Malloc().

void NS_TIMIDITY::add_to_pathlist ( char *  s  ) 

Definition at line 243 of file timidity_common.cpp.

References NS_TIMIDITY::PathList::next, NS_TIMIDITY::PathList::path, and pathlist.

Referenced by read_config_file().

template<class T>
T* NS_TIMIDITY::safe_Malloc ( size_t  count = 1  ) 

Definition at line 55 of file timidity_common.h.

References safe_malloc().

static float NS_TIMIDITY::ino ( float  x  )  [static]

Definition at line 51 of file timidity_filter.cpp.

References y.

Referenced by kaiser().

static void NS_TIMIDITY::kaiser ( float *  w,
int  n,
float  beta 
) [static]

Definition at line 69 of file timidity_filter.cpp.

References ino().

Referenced by designfir().

static void NS_TIMIDITY::designfir ( float *  g,
float  fc 
) [static]

Definition at line 86 of file timidity_filter.cpp.

References kaiser().

Referenced by antialiasing().

static void NS_TIMIDITY::filter ( sample_t result,
sample_t data,
sint32  length,
float  coef[] 
) [static]

Definition at line 114 of file timidity_filter.cpp.

References NS_TIMIDITY::ControlMode::cmsg, and ctl.

Referenced by antialiasing().

void NS_TIMIDITY::antialiasing ( Sample *  sp,
sint32  output_rate 
)

Definition at line 178 of file timidity_filter.cpp.

References NS_TIMIDITY::ControlMode::cmsg, ctl, NS_TIMIDITY::Sample::data, NS_TIMIDITY::Sample::data_length, designfir(), filter(), and NS_TIMIDITY::Sample::sample_rate.

Referenced by load_instrument().

static void NS_TIMIDITY::free_instrument ( Instrument *  ip  )  [static]

Definition at line 68 of file timidity_instrum.cpp.

References NS_TIMIDITY::Sample::data, NS_TIMIDITY::Instrument::sample, and NS_TIMIDITY::Instrument::samples.

Referenced by free_bank(), and set_default_instrument().

static void NS_TIMIDITY::free_bank ( int  dr,
int  b 
) [static]

Definition at line 82 of file timidity_instrum.cpp.

References drumset, free_instrument(), NS_TIMIDITY::ToneBankElement::instrument, NS_TIMIDITY::ToneBank::tone, and tonebank.

Referenced by free_instruments().

static