LMMS
Loading...
Searching...
No Matches
lds.h
Go to the documentation of this file.
1/*
2 * Adplug - Replayer for many OPL2/OPL3 audio file formats.
3 * Copyright (C) 1999 - 2004 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 * lds.h - LOUDNESS Player by Simon Peter <dn.tlp@gmx.net>
20 */
21
22#include "player.h"
23
24class CldsPlayer: public CPlayer
25{
26 public:
27 static CPlayer *factory(Copl *newopl) { return new CldsPlayer(newopl); }
29 CldsPlayer(Copl *newopl);
30 virtual ~CldsPlayer();
31
32 bool load(const std::string &filename, const CFileProvider &fp);
33 virtual bool update();
34 virtual void rewind(int subsong = -1);
35 float getrefresh() { return 1193182.0f / speed; }
36
37 std::string gettype() { return std::string("LOUDNESS Sound System"); }
38 unsigned int getorders() { return numposi; }
39 unsigned int getorder() { return posplay; }
40 unsigned int getrow() { return pattplay; }
41 unsigned int getspeed() { return speed; }
42 unsigned int getinstruments() { return numpatch; }
43
44 private:
55
67 } Channel;
68
69 typedef struct {
70 unsigned short patnum;
71 unsigned char transpose;
72 } Position;
73
74 static const unsigned short frequency[];
75 static const unsigned char vibtab[], tremtab[];
76 static const unsigned short maxsound, maxpos;
77
81 unsigned char fmchip[0xff], jumping, fadeonoff, allvolume, hardfade,
83 unsigned short posplay, jumppos, *patterns, speed;
86
87 void playsound(int inst_number, int channel_number, int tunehigh);
88 inline void setregs(unsigned char reg, unsigned char val);
89 inline void setregs_adv(unsigned char reg, unsigned char mask,
90 unsigned char val);
91};
static const unsigned long mask[]
Definition bitwise.c:31
Definition fprovide.h:29
CPlayer(Copl *newopl)
Definition player.cpp:34
virtual ~CldsPlayer()
Definition lds.cpp:79
static const unsigned short frequency[]
Definition lds.h:28
std::string gettype()
Definition lds.h:37
unsigned char pattplay
Definition lds.h:82
CldsPlayer(Copl *newopl)
Definition lds.cpp:74
void playsound(int inst_number, int channel_number, int tunehigh)
Definition lds.cpp:549
unsigned char mode
Definition lds.h:82
Position * positions
Definition lds.h:80
virtual void rewind(int subsong=-1)
Definition lds.cpp:513
unsigned short posplay
Definition lds.h:83
unsigned int getorders()
Definition lds.h:38
unsigned char allvolume
Definition lds.h:81
virtual bool update()
Definition lds.cpp:158
bool songlooped
Definition lds.h:84
unsigned char jumping
Definition lds.h:81
unsigned char chandelay[9]
Definition lds.h:82
void setregs(unsigned char reg, unsigned char val)
Definition lds.cpp:664
SoundBank * soundbank
Definition lds.h:78
static const unsigned char tremtab[]
Definition lds.h:56
unsigned short * patterns
Definition lds.h:83
unsigned char tempo_now
Definition lds.h:82
Channel channel[9]
Definition lds.h:79
static CPlayer * factory(Copl *newopl)
Definition lds.h:27
unsigned int numposi
Definition lds.h:85
static const unsigned char vibtab[]
Definition lds.h:47
unsigned int mainvolume
Definition lds.h:85
void setregs_adv(unsigned char reg, unsigned char mask, unsigned char val)
Definition lds.cpp:672
unsigned char hardfade
Definition lds.h:81
unsigned int getspeed()
Definition lds.h:41
unsigned short speed
Definition lds.h:83
bool load(const std::string &filename, const CFileProvider &fp)
Definition lds.cpp:86
unsigned char regbd
Definition lds.h:82
unsigned char fadeonoff
Definition lds.h:81
unsigned int numpatch
Definition lds.h:85
unsigned char tempo
Definition lds.h:82
static const unsigned short maxsound
Definition lds.h:76
bool playing
Definition lds.h:84
unsigned char pattlen
Definition lds.h:82
unsigned char fmchip[0xff]
Definition lds.h:81
float getrefresh()
Definition lds.h:35
static const unsigned short maxpos
Definition lds.h:76
unsigned int getrow()
Definition lds.h:40
unsigned int getorder()
Definition lds.h:39
unsigned int patterns_size
Definition lds.h:85
unsigned int getinstruments()
Definition lds.h:42
unsigned short jumppos
Definition lds.h:83
Definition opl.h:26
static char filename[]
Definition features.c:5
int val
Definition jpeglib.h:956
Definition lds.h:56
unsigned char vibspeed
Definition lds.h:59
unsigned char arp_size
Definition lds.h:60
unsigned char finetune
Definition lds.h:58
unsigned char trcspeed
Definition lds.h:60
unsigned char trmstay
Definition lds.h:59
unsigned char portspeed
Definition lds.h:58
unsigned char trmspeed
Definition lds.h:59
unsigned char arp_speed
Definition lds.h:60
unsigned char trcwait
Definition lds.h:60
unsigned char nextvol
Definition lds.h:58
unsigned char packwait
Definition lds.h:61
unsigned char vibwait
Definition lds.h:59
unsigned short lasttune
Definition lds.h:57
unsigned char chandelay
Definition lds.h:64
unsigned char trmcount
Definition lds.h:59
unsigned short gototune
Definition lds.h:57
unsigned char trmwait
Definition lds.h:59
unsigned char arp_count
Definition lds.h:61
unsigned short packpos
Definition lds.h:57
unsigned char arp_tab[12]
Definition lds.h:61
unsigned char sound
Definition lds.h:64
unsigned char keycount
Definition lds.h:60
unsigned char trcrate
Definition lds.h:60
unsigned char arp_pos
Definition lds.h:61
unsigned char vibcount
Definition lds.h:61
unsigned char volcar
Definition lds.h:58
unsigned char glideto
Definition lds.h:58
unsigned char vibrate
Definition lds.h:59
unsigned char volmod
Definition lds.h:58
unsigned short high
Definition lds.h:65
unsigned char trccount
Definition lds.h:60
unsigned char trmrate
Definition lds.h:59
Definition lds.h:69
unsigned short patnum
Definition lds.h:70
unsigned char transpose
Definition lds.h:71
Definition lds.h:45
unsigned char middum2
Definition lds.h:53
unsigned char car_vol
Definition lds.h:47
unsigned char car_trem
Definition lds.h:48
unsigned short start
Definition lds.h:50
unsigned char portamento
Definition lds.h:48
unsigned char vibdelay
Definition lds.h:48
unsigned char vibrato
Definition lds.h:48
unsigned char arp_tab[12]
Definition lds.h:49
unsigned char midtrans
Definition lds.h:53
unsigned char car_wave
Definition lds.h:47
unsigned char midkey
Definition lds.h:53
unsigned char mod_misc
Definition lds.h:46
unsigned char keyoff
Definition lds.h:47
unsigned char mod_trem
Definition lds.h:48
unsigned char arpeggio
Definition lds.h:49
unsigned char mod_vol
Definition lds.h:46
unsigned char mod_sr
Definition lds.h:46
unsigned char midvelo
Definition lds.h:53
unsigned char finetune
Definition lds.h:48
unsigned short transp
Definition lds.h:52
unsigned char mod_wave
Definition lds.h:46
unsigned char feedback
Definition lds.h:47
unsigned char mod_ad
Definition lds.h:46
unsigned char middum1
Definition lds.h:53
unsigned char car_ad
Definition lds.h:47
unsigned char tremwait
Definition lds.h:49
unsigned char fms
Definition lds.h:51
unsigned short size
Definition lds.h:50
unsigned char glide
Definition lds.h:48
unsigned char midinst
Definition lds.h:53
unsigned char car_sr
Definition lds.h:47
unsigned char car_misc
Definition lds.h:47