32#define ROL_COMMENT_SIZE 40U
33#define ROL_UNUSED1_SIZE 1U
34#define ROL_UNUSED2_SIZE 90U
35#define ROL_FILLER0_SIZE 38U
36#define ROL_FILLER1_SIZE 15U
37#define ROL_FILLER_SIZE 15U
38#define ROL_MAX_NAME_SIZE 9U
39#define ROL_INSTRUMENT_EVENT_FILLER_SIZE 3U
40#define ROL_BNK_SIGNATURE_SIZE 6U
53 virtual void rewind (
int subsong);
56 virtual std::string
gettype() {
return std::string(
"AdLib Visual Composer"); }
72#if !defined(UINT8_MAX)
82 typedef signed int int32;
140#define BIT_POS(pos) (1<<pos)
260 binistream *bnk_file,
SBnkHeader const & bnk_header);
271 void SetNote(
int const voice,
int const note);
274 void SetFreq (
int const voice,
int const note,
bool const keyOn=
false);
276 void SetPitch (
int const voice,
float const variation);
301 bool keyLess(
char const *
const lhs,
char const *
const rhs)
const
CPlayer(Copl *newopl)
Definition player.cpp:34
int mEventStatus
Definition rol.h:183
TVolumeEvents volume_events
Definition rol.h:181
TPitchEvents pitch_events
Definition rol.h:182
TInstrumentEvents instrument_events
Definition rol.h:180
void Reset()
Definition rol.h:167
uint16_t current_note
Definition rol.h:186
CVoiceData()
Definition rol.h:155
uint16_t next_instrument_event
Definition rol.h:187
bool mForceNote
Definition rol.h:190
EEventStatus
Definition rol.h:146
@ kES_VolumeEnd
Definition rol.h:150
@ kES_None
Definition rol.h:152
@ kES_NoteEnd
Definition rol.h:147
@ kES_InstrEnd
Definition rol.h:149
@ kES_PitchEnd
Definition rol.h:148
int16_t mNoteDuration
Definition rol.h:184
TNoteEvents note_events
Definition rol.h:179
int16_t current_note_duration
Definition rol.h:185
uint16_t next_pitch_event
Definition rol.h:189
uint16_t next_volume_event
Definition rol.h:188
bool keyLess(char const *const lhs, char const *const rhs) const
Definition rol.h:301
bool operator()(SInstrumentName const &lhs, SInstrumentName const &rhs) const
Definition rol.h:286
bool operator()(std::string const &lhs, SInstrumentName const &rhs) const
Definition rol.h:296
bool operator()(SInstrumentName const &lhs, std::string const &rhs) const
Definition rol.h:291
std::vector< TUint16ConstPtr > TUint16PtrVector
Definition rol.h:311
signed char int8_t
Definition rol.h:73
virtual bool update()
Definition rol.cpp:263
virtual void rewind(int subsong)
Definition rol.cpp:293
std::vector< uint8_t > TUInt8Vector
Definition rol.h:313
static int const kNumPercussiveVoices
Definition rol.h:343
void SetPitch(int const voice, float const variation)
Definition rol.cpp:526
static int const kSnareNote
Definition rol.h:349
TTempoEvents mTempoEvents
Definition rol.h:319
SRolHeader * mpROLHeader
Definition rol.h:317
void UpdateVoice(int const voice, CVoiceData &voiceData)
Definition rol.cpp:344
short int16_t
Definition rol.h:74
uint8_t mAMVibRhythmCache
Definition rol.h:336
std::vector< CVoiceData > TVoiceData
Definition rol.h:309
int load_rol_instrument(binistream *f, SBnkHeader const &header, std::string const &name)
Definition rol.cpp:795
void SetNoteMelodic(int const voice, int const note)
Definition rol.cpp:480
std::vector< bool > TBoolVector
Definition rol.h:314
std::vector< std::string > TStringVector
Definition rol.h:315
void send_operator(int const voice, SOPL2Op const &modulator, SOPL2Op const &carrier)
Definition rol.cpp:581
bool load_voice_data(binistream *f, std::string const &bnk_filename, CFileProvider const &fp)
Definition rol.cpp:632
bool load_bnk_info(binistream *f, SBnkHeader &header)
Definition rol.cpp:764
static float const kDefaultUpdateTme
Definition rol.h:350
TUint16PtrVector mFNumFreqPtrList
Definition rol.h:322
void SetNotePercussive(int const voice, int const note)
Definition rol.cpp:449
void read_fm_operator(binistream *f, SOPL2Op &opl2_op)
Definition rol.cpp:860
static CPlayer * factory(Copl *pNewOpl)
Definition rol.cpp:146
static int const kBassDrumChannel
Definition rol.h:344
int16_t mOldHalfToneOffset
Definition rol.h:335
static int const kSnareDrumChannel
Definition rol.h:345
std::vector< SPitchEvent > TPitchEvents
Definition rol.h:138
TUInt8Vector mKSLTLCache
Definition rol.h:325
void SetFreq(int const voice, int const note, bool const keyOn=false)
Definition rol.cpp:537
std::vector< SInstrumentName > TInstrumentNames
Definition rol.h:200
std::vector< SNoteEvent > TNoteEvents
Definition rol.h:135
TBoolVector mKeyOnCache
Definition rol.h:328
TUInt8Vector mKOnOctFNumCache
Definition rol.h:327
virtual std::string gettype()
Definition rol.h:56
void SetVolume(int const voice, uint8_t const volume)
Definition rol.cpp:565
signed long int int32
Definition rol.h:84
TUInt8Vector mVolumeCache
Definition rol.h:324
virtual ~CrolPlayer()
Definition rol.cpp:176
virtual float getrefresh()
Definition rol.cpp:339
int get_ins_index(std::string const &name) const
Definition rol.cpp:835
std::vector< SInstrument > TInstrumentList
Definition rol.h:310
uint8_t GetKSLTL(int const voice) const
Definition rol.cpp:552
unsigned char uint8_t
Definition rol.h:76
static int const kTomtomChannel
Definition rol.h:346
void SetNote(int const voice, int const note)
Definition rol.cpp:437
uint16_t mPitchRangeStep
Definition rol.h:331
static int const kMaxTickBeat
Definition rol.h:340
void SetRefresh(float const multiplier)
Definition rol.cpp:332
static int const kTomTomNote
Definition rol.h:347
virtual bool load(const std::string &filename, const CFileProvider &fp)
Definition rol.cpp:185
unsigned int uint32_t
Definition rol.h:78
std::vector< int16_t > TInt16Vector
Definition rol.h:312
std::vector< SInstrumentEvent > TInstrumentEvents
Definition rol.h:136
static int const kSilenceNote
Definition rol.h:341
virtual unsigned int getinstruments()
Definition rol.h:57
void load_note_events(binistream *f, CVoiceData &voice)
Definition rol.cpp:664
void load_instrument_events(binistream *f, CVoiceData &voice, binistream *bnk_file, SBnkHeader const &bnk_header)
Definition rol.cpp:698
unsigned short uint16_t
Definition rol.h:77
int int32_t
Definition rol.h:75
int16_t mTimeOfLastNote
Definition rol.h:334
void ChangePitch(int voice, uint16_t const pitchBend)
Definition rol.cpp:492
TUInt8Vector mNoteCache
Definition rol.h:326
static int const kTomTomToSnare
Definition rol.h:348
CrolPlayer(Copl *const pNewOpl)
Definition rol.cpp:151
TInstrumentList mInstrumentList
Definition rol.h:321
uint16_t const * TUint16ConstPtr
Definition rol.h:307
void send_ins_data_to_chip(int const voice, int const ins_index)
Definition rol.cpp:574
virtual std::string getdesc()
Definition rol.h:65
void read_rol_instrument(binistream *f, SRolInstrument &ins)
Definition rol.cpp:848
uint16_t mNextTempoEvent
Definition rol.h:332
static int const kNumMelodicVoices
Definition rol.h:342
std::vector< SVolumeEvent > TVolumeEvents
Definition rol.h:137
TStringVector usedInstruments
Definition rol.h:337
void load_tempo_events(binistream *f)
Definition rol.cpp:616
void load_pitch_events(binistream *f, CVoiceData &voice)
Definition rol.cpp:746
int16_t mCurrTick
Definition rol.h:333
static int const kSizeofDataRecord
Definition rol.h:339
TInt16Vector mHalfToneOffset
Definition rol.h:323
int32_t mOldPitchBendLength
Definition rol.h:330
virtual std::string getinstrument(unsigned int n)
Definition rol.h:61
std::vector< STempoEvent > TTempoEvents
Definition rol.h:308
float mRefresh
Definition rol.h:329
void load_volume_events(binistream *f, CVoiceData &voice)
Definition rol.cpp:726
TVoiceData mVoiceData
Definition rol.h:320
TUint16ConstPtr mpOldFNumFreqPtr
Definition rol.h:318
unsigned f
Definition inflate.c:1572
static char filename[]
Definition features.c:5
static const char * name
Definition pugl.h:1582
static float volume(float level)
Definition nekobee_voice_render.c:99
#define true
Definition ordinals.h:82
#define BIT_POS(pos)
Definition rol.h:140
#define ROL_UNUSED2_SIZE
Definition rol.h:34
#define ROL_BNK_SIGNATURE_SIZE
Definition rol.h:40
#define ROL_COMMENT_SIZE
Definition rol.h:32
#define ROL_FILLER0_SIZE
Definition rol.h:35
#define ROL_MAX_NAME_SIZE
Definition rol.h:38
#define ROL_FILLER1_SIZE
Definition rol.h:36
uint8_t feed_back
Definition rol.h:219
uint8_t envelope_scaling
Definition rol.h:228
uint8_t release_rate
Definition rol.h:224
uint8_t key_scale_level
Definition rol.h:217
uint8_t fm_type
Definition rol.h:229
uint8_t decay_rate
Definition rol.h:223
uint8_t sustain_level
Definition rol.h:221
uint8_t frequency_vibrato
Definition rol.h:227
uint8_t output_level
Definition rol.h:225
uint8_t freq_multiplier
Definition rol.h:218
uint8_t amplitude_vibrato
Definition rol.h:226
uint8_t sustaining_sound
Definition rol.h:222
uint8_t attack_rate
Definition rol.h:220
int16_t time
Definition rol.h:118
int16_t ins_index
Definition rol.h:120
char name[ROL_MAX_NAME_SIZE]
Definition rol.h:119
SRolInstrument instrument
Definition rol.h:253
std::string name
Definition rol.h:252
char name[ROL_MAX_NAME_SIZE]
Definition rol.h:197
uint8_t record_used
Definition rol.h:196
uint16_t index
Definition rol.h:195
int16_t duration
Definition rol.h:113
int16_t number
Definition rol.h:112
uint8_t ardr
Definition rol.h:236
uint8_t ksltl
Definition rol.h:235
uint8_t ammulti
Definition rol.h:234
uint8_t waveform
Definition rol.h:239
uint8_t fbc
Definition rol.h:238
uint8_t slrr
Definition rol.h:237
int16_t time
Definition rol.h:131
float variation
Definition rol.h:132
SOPL2Op modulator
Definition rol.h:246
SOPL2Op carrier
Definition rol.h:247
uint8_t mode
Definition rol.h:244
uint8_t voice_number
Definition rol.h:245
float multiplier
Definition rol.h:107
int16_t time
Definition rol.h:106
int16_t time
Definition rol.h:125
float multiplier
Definition rol.h:126
#define stricmp(x, y)
Definition swell-types.h:68
int n
Definition crypt.c:458