LMMS
Loading...
Searching...
No Matches
ksm.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 * ksm.h - KSM Player for AdPlug by Simon Peter <dn.tlp@gmx.net>
20 */
21
22#include "player.h"
23
24class CksmPlayer: public CPlayer
25{
26public:
27 static CPlayer *factory(Copl *newopl);
28
30 : CPlayer(newopl), note(0)
31 { };
33 { if(note) delete [] note; };
34
35 bool load(const std::string &filename, const CFileProvider &fp);
36 bool update();
37 void rewind(int subsong);
38 float getrefresh()
39 { return 240.0f; };
40
41 std::string gettype()
42 { return std::string("Ken Silverman's Music Format"); };
43 unsigned int getinstruments()
44 { return 16; };
45 std::string getinstrument(unsigned int n);
46
47private:
48 static const unsigned int adlibfreq[63];
49
50 unsigned long count,countstop,chanage[18],*note;
51 unsigned short numnotes;
53 unsigned char trinst[16],trquant[16],trchan[16],trvol[16],inst[256][11],databuf[2048],chanfreq[18],chantrack[18];
54 char instname[256][20];
55
56 bool songend;
57
58 void loadinsts(binistream *f);
59 void setinst(int chan,unsigned char v0,unsigned char v1,unsigned char v2,unsigned char v3,
60 unsigned char v4,unsigned char v5,unsigned char v6,unsigned char v7,
61 unsigned char v8,unsigned char v9,unsigned char v10);
62};
Definition fprovide.h:29
CPlayer(Copl *newopl)
Definition player.cpp:34
unsigned char trquant[16]
Definition ksm.h:53
unsigned int numchans
Definition ksm.h:52
void loadinsts(binistream *f)
Definition ksm.cpp:303
unsigned long count
Definition ksm.h:50
CksmPlayer(Copl *newopl)
Definition ksm.h:29
unsigned int nownote
Definition ksm.h:52
unsigned long countstop
Definition ksm.h:50
char instname[256][20]
Definition ksm.h:54
unsigned char inst[256][11]
Definition ksm.h:53
bool load(const std::string &filename, const CFileProvider &fp)
Definition ksm.cpp:43
unsigned long * note
Definition ksm.h:50
unsigned char trinst[16]
Definition ksm.h:53
unsigned char trvol[16]
Definition ksm.h:53
unsigned long chanage[18]
Definition ksm.h:50
void rewind(int subsong)
Definition ksm.cpp:231
~CksmPlayer()
Definition ksm.h:32
void setinst(int chan, unsigned char v0, unsigned char v1, unsigned char v2, unsigned char v3, unsigned char v4, unsigned char v5, unsigned char v6, unsigned char v7, unsigned char v8, unsigned char v9, unsigned char v10)
Definition ksm.cpp:314
unsigned short numnotes
Definition ksm.h:51
unsigned char chantrack[18]
Definition ksm.h:53
static CPlayer * factory(Copl *newopl)
Definition ksm.cpp:38
unsigned char chanfreq[18]
Definition ksm.h:53
unsigned int drumstat
Definition ksm.h:52
float getrefresh()
Definition ksm.h:38
std::string gettype()
Definition ksm.h:41
unsigned int getinstruments()
Definition ksm.h:43
bool songend
Definition ksm.h:56
unsigned char trchan[16]
Definition ksm.h:53
std::string getinstrument(unsigned int n)
Definition ksm.cpp:293
unsigned char databuf[2048]
Definition ksm.h:53
static const unsigned int adlibfreq[63]
Definition ksm.h:27
bool update()
Definition ksm.cpp:99
Definition opl.h:26
unsigned f
Definition inflate.c:1572
static char filename[]
Definition features.c:5
static void v2(register WDL_FFT_REAL *a)
Definition fft.c:1099
int n
Definition crypt.c:458