LMMS
Loading...
Searching...
No Matches
fmc.h
Go to the documentation of this file.
1/*
2 Adplug - Replayer for many OPL2/OPL3 audio file formats.
3 Copyright (C) 1999 - 2003 Simon Peter, <dn.tlp@gmx.net>, et al.
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
19 fmc.h - FMC loader by Riven the Mage <riven@ok.ru>
20*/
21
22#include "protrack.h"
23
25{
26 public:
27 static CPlayer *factory(Copl *newopl);
28
29 CfmcLoader(Copl *newopl) : CmodPlayer(newopl) { };
30
31 bool load(const std::string &filename, const CFileProvider &fp);
32 float getrefresh();
33
34 std::string gettype();
35 std::string gettitle();
36 std::string getinstrument(unsigned int n);
37 unsigned int getinstruments();
38
39 private:
40
41 struct fmc_event
42 {
43 unsigned char byte0;
44 unsigned char byte1;
45 unsigned char byte2;
46 };
47
49 {
50 char id[4];
51 char title[21];
52 unsigned char numchan;
54
56 {
57 unsigned char synthesis;
58 unsigned char feedback;
59
60 unsigned char mod_attack;
61 unsigned char mod_decay;
62 unsigned char mod_sustain;
63 unsigned char mod_release;
64 unsigned char mod_volume;
65 unsigned char mod_ksl;
66 unsigned char mod_freq_multi;
67 unsigned char mod_waveform;
68 unsigned char mod_sustain_sound;
69 unsigned char mod_ksr;
70 unsigned char mod_vibrato;
71 unsigned char mod_tremolo;
72 unsigned char car_attack;
73 unsigned char car_decay;
74 unsigned char car_sustain;
75 unsigned char car_release;
76 unsigned char car_volume;
77 unsigned char car_ksl;
78 unsigned char car_freq_multi;
79 unsigned char car_waveform;
80 unsigned char car_sustain_sound;
81 unsigned char car_ksr;
82 unsigned char car_vibrato;
83 unsigned char car_tremolo;
84
85 signed char pitch_shift;
86
87 char name[21];
89
90 void buildinst(unsigned char i);
91};
Definition fprovide.h:29
CPlayer(Copl *newopl)
Definition player.cpp:34
static CPlayer * factory(Copl *newopl)
Definition fmc.cpp:27
std::string gettype()
Definition fmc.cpp:171
std::string getinstrument(unsigned int n)
Definition fmc.cpp:181
CfmcLoader(Copl *newopl)
Definition fmc.h:29
float getrefresh()
Definition fmc.cpp:166
std::string gettitle()
Definition fmc.cpp:176
unsigned int getinstruments()
Definition fmc.cpp:186
bool load(const std::string &filename, const CFileProvider &fp)
Definition fmc.cpp:32
void buildinst(unsigned char i)
Definition fmc.cpp:193
struct CfmcLoader::fmc_instrument instruments[32]
struct CfmcLoader::fmc_header header
CmodPlayer(Copl *newopl)
Definition protrack.cpp:45
Definition opl.h:26
register unsigned i
Definition inflate.c:1575
static char filename[]
Definition features.c:5
Definition fmc.h:42
unsigned char byte1
Definition fmc.h:44
unsigned char byte0
Definition fmc.h:43
unsigned char byte2
Definition fmc.h:45
Definition fmc.h:49
unsigned char numchan
Definition fmc.h:52
char title[21]
Definition fmc.h:51
Definition fmc.h:56
unsigned char car_waveform
Definition fmc.h:79
unsigned char mod_tremolo
Definition fmc.h:71
unsigned char car_ksr
Definition fmc.h:81
unsigned char mod_ksr
Definition fmc.h:69
char name[21]
Definition fmc.h:87
unsigned char mod_sustain_sound
Definition fmc.h:68
unsigned char mod_waveform
Definition fmc.h:67
unsigned char mod_freq_multi
Definition fmc.h:66
unsigned char car_release
Definition fmc.h:75
unsigned char car_freq_multi
Definition fmc.h:78
signed char pitch_shift
Definition fmc.h:85
unsigned char car_decay
Definition fmc.h:73
unsigned char feedback
Definition fmc.h:58
unsigned char car_sustain
Definition fmc.h:74
unsigned char car_ksl
Definition fmc.h:77
unsigned char mod_decay
Definition fmc.h:61
unsigned char mod_release
Definition fmc.h:63
unsigned char mod_sustain
Definition fmc.h:62
unsigned char mod_volume
Definition fmc.h:64
unsigned char mod_attack
Definition fmc.h:60
unsigned char mod_vibrato
Definition fmc.h:70
unsigned char car_attack
Definition fmc.h:72
unsigned char car_vibrato
Definition fmc.h:82
unsigned char mod_ksl
Definition fmc.h:65
unsigned char synthesis
Definition fmc.h:57
unsigned char car_sustain_sound
Definition fmc.h:80
unsigned char car_tremolo
Definition fmc.h:83
unsigned char car_volume
Definition fmc.h:76
int n
Definition crypt.c:458