LMMS
Loading...
Searching...
No Matches
psi.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 * [xad] PSI player, by Riven the Mage <riven@ok.ru>
20 */
21
22#include "xad.h"
23
25{
26public:
27 static CPlayer *factory(Copl *newopl);
28
29 CxadpsiPlayer(Copl *newopl): CxadPlayer(newopl)
30 { }
31
32protected:
34 {
35 unsigned short instr_ptr;
36 unsigned short seq_ptr;
38
39 struct
40 {
41 unsigned char *instr_table;
42 unsigned char *seq_table;
43 unsigned char note_delay[9];
44 unsigned char note_curdelay[9];
45 unsigned char looping[9];
46 } psi;
47 //
49 {
50 if(xad.fmt == PSI)
51 return true;
52 else
53 return false;
54 }
55 void xadplayer_rewind(int subsong);
56 void xadplayer_update();
58 std::string xadplayer_gettype();
59 unsigned int xadplayer_getinstruments();
60
61private:
62 static const unsigned char psi_adlib_registers[99];
63 static const unsigned short psi_notes[16];
64};
CPlayer(Copl *newopl)
Definition player.cpp:34
Definition opl.h:26
@ PSI
Definition xad.h:84
CxadPlayer(Copl *newopl)
Definition xad.cpp:36
struct CxadPlayer::xad_header xad
unsigned char * seq_table
Definition psi.h:42
void xadplayer_rewind(int subsong)
Definition psi.cpp:66
static const unsigned short psi_notes[16]
Definition psi.h:54
CxadpsiPlayer(Copl *newopl)
Definition psi.h:29
static CPlayer * factory(Copl *newopl)
Definition psi.cpp:61
float xadplayer_getrefresh()
Definition psi.cpp:164
unsigned char * instr_table
Definition psi.h:41
std::string xadplayer_gettype()
Definition psi.cpp:169
struct CxadpsiPlayer::@236323362275140164027160102165274206147117337105 psi
static const unsigned char psi_adlib_registers[99]
Definition psi.h:41
unsigned int xadplayer_getinstruments()
Definition psi.cpp:174
unsigned char note_delay[9]
Definition psi.h:43
unsigned char note_curdelay[9]
Definition psi.h:44
unsigned char looping[9]
Definition psi.h:45
struct CxadpsiPlayer::psi_header header
bool xadplayer_load()
Definition psi.h:48
void xadplayer_update()
Definition psi.cpp:99
Definition psi.h:34
unsigned short seq_ptr
Definition psi.h:36
unsigned short instr_ptr
Definition psi.h:35