MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / AdlibMusic

Method AdlibMusic

src/Engine/AdlibMusic.cpp:42–64  ·  view source on GitHub ↗

* Initializes a new music track. * @param volume Music volume modifier (1.0 = 100%). */

Source from the content-addressed store, hash-verified

40 * @param volume Music volume modifier (1.0 = 100%).
41 */
42AdlibMusic::AdlibMusic(float volume) : Music(), _data(0), _size(0), _volume(volume)
43{
44 rate = Options::audioSampleRate;
45 if (!opl[0])
46 {
47 opl[0] = OPLCreate(OPL_TYPE_YM3812, 3579545, rate);
48 }
49 if (!opl[1])
50 {
51 opl[1] = OPLCreate(OPL_TYPE_YM3812, 3579545, rate);
52 }
53 // magic value - length of 1 tick per samplerate
54 if (delayRates.empty())
55 {
56 delayRates[8000] = 114 * 4;
57 delayRates[11025] = 157 * 4;
58 delayRates[16000] = 228 * 4;
59 delayRates[22050] = 314 * 4;
60 delayRates[32000] = 456 * 4;
61 delayRates[44100] = 629 * 4;
62 delayRates[48000] = 685 * 4;
63 }
64}
65
66/**
67 * Deletes the loaded music content.

Callers

nothing calls this directly

Calls 2

OPLCreateFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected