LMMS
Loading...
Searching...
No Matches
hybrid.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] HYBRID player, by Riven the Mage <riven@ok.ru>
20 */
21
22/*
23 * Copyright (c) 2015 - 2017 Wraithverge <liam82067@yahoo.com>
24 * - Realigned to Tabs.
25 * - Added support for Speed indicator in 'File Info' dialogues.
26 */
27
28#include "xad.h"
29
31{
32public:
33 static CPlayer *factory(Copl *newopl);
34
36 { }
37
38protected:
40 {
41 char name[7];
42 unsigned char mod_wave;
43 unsigned char mod_AD;
44 unsigned char mod_SR;
45 unsigned char mod_crtl;
46 unsigned char mod_volume;
47 unsigned char car_wave;
48 unsigned char car_AD;
49 unsigned char car_SR;
50 unsigned char car_crtl;
51 unsigned char car_volume;
52 unsigned char connect;
53 };
54
55 struct
56 {
57 unsigned char order_pos;
58 unsigned char pattern_pos;
59
60 unsigned char *order;
63
64 struct
65 {
66 unsigned short freq;
67 unsigned short freq_slide;
68 } channel[9];
69
70 unsigned char speed;
71 unsigned char speed_counter;
72 } hyb;
73 //
75 void xadplayer_rewind(int subsong);
76 void xadplayer_update();
78 std::string xadplayer_gettype();
79 std::string xadplayer_getinstrument(unsigned int i);
80 unsigned int xadplayer_getinstruments();
81
82 // Wraithverge: added this.
83 unsigned int xadplayer_getspeed();
84
85private:
86 static const unsigned char hyb_adlib_registers[99];
87 static const unsigned short hyb_notes[98];
88 static const unsigned char hyb_default_instrument[11];
89};
CPlayer(Copl *newopl)
Definition player.cpp:34
Definition opl.h:26
CxadPlayer(Copl *newopl)
Definition xad.cpp:36
CxadhybridPlayer(Copl *newopl)
Definition hybrid.h:35
std::string xadplayer_getinstrument(unsigned int i)
Definition hybrid.cpp:267
static const unsigned char hyb_adlib_registers[99]
Definition hybrid.h:48
unsigned int xadplayer_getinstruments()
Definition hybrid.cpp:272
struct CxadhybridPlayer::@346115143205074204152015205131070275356143062341::@030362222222215125335345055250274146234177277367 channel[9]
float xadplayer_getrefresh()
Definition hybrid.cpp:241
void xadplayer_rewind(int subsong)
Definition hybrid.cpp:97
unsigned int xadplayer_getspeed()
Definition hybrid.cpp:277
static CPlayer * factory(Copl *newopl)
Definition hybrid.cpp:79
static const unsigned char hyb_default_instrument[11]
Definition hybrid.h:74
bool xadplayer_load()
Definition hybrid.cpp:84
unsigned short freq_slide
Definition hybrid.h:67
unsigned char * order
Definition hybrid.h:60
unsigned char speed
Definition hybrid.h:70
void xadplayer_update()
Definition hybrid.cpp:132
struct CxadhybridPlayer::@346115143205074204152015205131070275356143062341 hyb
unsigned char order_pos
Definition hybrid.h:57
unsigned char pattern_pos
Definition hybrid.h:58
unsigned char speed_counter
Definition hybrid.h:71
hyb_instrument * inst
Definition hybrid.h:62
std::string xadplayer_gettype()
Definition hybrid.cpp:259
static const unsigned short hyb_notes[98]
Definition hybrid.h:61
unsigned short freq
Definition hybrid.h:66
register unsigned i
Definition inflate.c:1575
Definition hybrid.h:40
char name[7]
Definition hybrid.h:41
unsigned char car_wave
Definition hybrid.h:47
unsigned char mod_SR
Definition hybrid.h:44
unsigned char car_AD
Definition hybrid.h:48
unsigned char car_crtl
Definition hybrid.h:50
unsigned char mod_crtl
Definition hybrid.h:45
unsigned char mod_AD
Definition hybrid.h:43
unsigned char mod_wave
Definition hybrid.h:42
unsigned char car_volume
Definition hybrid.h:51
unsigned char car_SR
Definition hybrid.h:49
unsigned char connect
Definition hybrid.h:52
unsigned char mod_volume
Definition hybrid.h:46