From 42072292b605976fa8c024f0aa04857720e91812 Mon Sep 17 00:00:00 2001 From: Carlos Ballesteros Velasco Date: Thu, 2 Feb 2023 17:57:36 +0100 Subject: [PATCH] Moved MOD, S3M and XM to korge-audio-formats repo: https://github.com/korlibs/korge-audio-formats (#1261) --- README.md | 4 + .../com/soywiz/korau/mod/BaseModuleTracker.kt | 127 -- .../kotlin/com/soywiz/korau/mod/MOD.kt | 949 ---------- .../kotlin/com/soywiz/korau/mod/S3M.kt | 1185 ------------ .../kotlin/com/soywiz/korau/mod/UtilsExt.kt | 18 - .../kotlin/com/soywiz/korau/mod/XM.kt | 1668 ----------------- .../kotlin/com/soywiz/korau/mod/MODTest.kt | 23 - .../kotlin/com/soywiz/korau/mod/S3MTest.kt | 29 - .../kotlin/com/soywiz/korau/mod/XMTest.kt | 42 - korau/src/commonTest/resources/12oz.s3m | Bin 171971 -> 0 bytes korau/src/commonTest/resources/GUITAROU.MOD | Bin 137064 -> 0 bytes korau/src/commonTest/resources/opus1.opus | Bin 2361 -> 0 bytes korau/src/commonTest/resources/poliamber.xm | Bin 91567 -> 0 bytes .../src/commonTest/resources/transatlantic.xm | Bin 308159 -> 0 bytes korge-sandbox/src/commonMain/kotlin/Main.kt | 1 - .../src/commonMain/kotlin/samples/MainXM.kt | 74 - .../src/commonMain/resources/sounds/12oz.s3m | Bin 171971 -> 0 bytes .../commonMain/resources/sounds/GUITAROU.MOD | Bin 137064 -> 0 bytes .../commonMain/resources/sounds/_sunlight_.xm | Bin 43768 -> 0 bytes .../resources/sounds/transatlantic.xm | Bin 308159 -> 0 bytes 20 files changed, 4 insertions(+), 4116 deletions(-) delete mode 100644 korau/src/commonMain/kotlin/com/soywiz/korau/mod/BaseModuleTracker.kt delete mode 100644 korau/src/commonMain/kotlin/com/soywiz/korau/mod/MOD.kt delete mode 100644 korau/src/commonMain/kotlin/com/soywiz/korau/mod/S3M.kt delete mode 100644 korau/src/commonMain/kotlin/com/soywiz/korau/mod/UtilsExt.kt delete mode 100644 korau/src/commonMain/kotlin/com/soywiz/korau/mod/XM.kt delete mode 100644 korau/src/commonTest/kotlin/com/soywiz/korau/mod/MODTest.kt delete mode 100644 korau/src/commonTest/kotlin/com/soywiz/korau/mod/S3MTest.kt delete mode 100644 korau/src/commonTest/kotlin/com/soywiz/korau/mod/XMTest.kt delete mode 100644 korau/src/commonTest/resources/12oz.s3m delete mode 100644 korau/src/commonTest/resources/GUITAROU.MOD delete mode 100644 korau/src/commonTest/resources/opus1.opus delete mode 100644 korau/src/commonTest/resources/poliamber.xm delete mode 100644 korau/src/commonTest/resources/transatlantic.xm delete mode 100644 korge-sandbox/src/commonMain/kotlin/samples/MainXM.kt delete mode 100644 korge-sandbox/src/commonMain/resources/sounds/12oz.s3m delete mode 100644 korge-sandbox/src/commonMain/resources/sounds/GUITAROU.MOD delete mode 100644 korge-sandbox/src/commonMain/resources/sounds/_sunlight_.xm delete mode 100644 korge-sandbox/src/commonMain/resources/sounds/transatlantic.xm diff --git a/README.md b/README.md index 3dec9ef402..f1a7f2b87c 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,10 @@ now they are available via kproject in these repositories: * (Pure Kotlin JPEG Encoder/Decoder) +### AudioFormats + +* (MOD, XM, S3M, MIDI (WIP), OPUS (WIP)) + ## Scripting * (LUA) diff --git a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/BaseModuleTracker.kt b/korau/src/commonMain/kotlin/com/soywiz/korau/mod/BaseModuleTracker.kt deleted file mode 100644 index 195295bfbd..0000000000 --- a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/BaseModuleTracker.kt +++ /dev/null @@ -1,127 +0,0 @@ -package com.soywiz.korau.mod - -import com.soywiz.klock.TimeSpan -import com.soywiz.klock.seconds -import com.soywiz.kmem.* -import com.soywiz.korau.format.AudioDecodingProps -import com.soywiz.korau.format.AudioFormat -import com.soywiz.korau.sound.AudioSamples -import com.soywiz.korau.sound.AudioStream -import com.soywiz.korau.sound.NativeSoundProvider -import com.soywiz.korau.sound.Sound -import com.soywiz.korau.sound.nativeSoundProvider -import com.soywiz.korio.file.VfsFile -import com.soywiz.korio.stream.AsyncStream -import com.soywiz.korio.stream.readAll -import kotlin.math.min - -abstract class BaseModuleTracker { - abstract class Format(vararg exts: String) : AudioFormat(*exts) { - abstract fun createTracker(): BaseModuleTracker - open suspend fun fastValidate(data: AsyncStream): Boolean = true - - override suspend fun tryReadInfo(data: AsyncStream, props: AudioDecodingProps): Info? { - try { - if (!fastValidate(data)) return null - val time: TimeSpan? = when (props.exactTimings) { - true -> { - val mod = createTracker() - if (!mod.parse(data.readAll().toNBufferUInt8())) return null - mod.totalLengthInSamples?.let { samples -> (samples.toDouble() / mod.samplerate.toDouble()).seconds } - } - else -> null - } - return Info(duration = time, channels = 2) - } catch (e: Throwable) { - e.printStackTrace() - return null - } - } - - override suspend fun decodeStream(data: AsyncStream, props: AudioDecodingProps): AudioStream? { - val mod = createTracker() - if (!mod.parse(data.readAll().toNBufferUInt8())) return null - return mod.createAudioStream() - } - } - - var samplerate = 44100 - var playing = false - var endofsong = false - - abstract fun initialize() - abstract fun parse(buffer: Uint8Buffer): Boolean - abstract fun mix(bufs: Array, buflen: Int = bufs[0].size) - - fun parseAndInit(buffer: Uint8Buffer) { - parse(buffer) - initialize() - playing = true - } - - var totalLengthInSamples: Long? = null - - suspend fun createSoundFromFile(file: VfsFile, soundProvider: NativeSoundProvider = nativeSoundProvider): Sound { - parseAndInit(file.readBytes().toNBufferUInt8()) - return createSound(soundProvider) - } - - suspend fun createSound(soundProvider: NativeSoundProvider = nativeSoundProvider): Sound { - return soundProvider.createStreamingSound(createAudioStream()) - } - - fun createAudioStream(): AudioStream { - playing = true - var fch = Array(2) { FloatArray(1024) } - return object : AudioStream(samplerate, 2) { - override val finished: Boolean get() = endofsong - - // @TODO: we should figure out how to compute the length in samples/time - override val totalLengthInSamples: Long? - get() = this@BaseModuleTracker.totalLengthInSamples - - var _currentPositionInSamples: Long = 0L - - private fun skipUntil(newPosition: Long) { - while (_currentPositionInSamples < newPosition) { - val available = newPosition - _currentPositionInSamples - val skip = min(available.toInt(), fch[0].size) - mix(fch, skip) - _currentPositionInSamples += skip - } - } - - override var currentPositionInSamples: Long - get() = _currentPositionInSamples - set(value) { - if (_currentPositionInSamples == value) return - if (value > _currentPositionInSamples) { - skipUntil(value) - } else { - //if (value != 0L) error("only supported rewind in MOD value=$value") - _currentPositionInSamples = 0L - initialize() - if (value != 0L) { - println("SLOW SEEK") - skipUntil(value) - } - } - } - - override suspend fun read(out: AudioSamples, offset: Int, length: Int): Int { - if (fch[0].size < length) fch = Array(2) { FloatArray(length) } - mix(fch, length) - _currentPositionInSamples += length - val l = fch[0] - val r = fch[1] - for (n in 0 until length) out.setFloatStereo(offset + n, l[n], r[n]) - return length - } - - override suspend fun clone(): AudioStream { - return createAudioStream() - } - - } - } -} diff --git a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/MOD.kt b/korau/src/commonMain/kotlin/com/soywiz/korau/mod/MOD.kt deleted file mode 100644 index ed12f3ba86..0000000000 --- a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/MOD.kt +++ /dev/null @@ -1,949 +0,0 @@ -@file:Suppress("UNUSED_PARAMETER", "MemberVisibilityCanBePrivate", "FunctionName") - -package com.soywiz.korau.mod - -import com.soywiz.kds.IntDeque -import com.soywiz.klock.measureTime -import com.soywiz.kmem.* -import com.soywiz.korau.sound.NativeSoundProvider -import com.soywiz.korau.sound.Sound -import com.soywiz.korau.sound.nativeSoundProvider -import com.soywiz.korio.file.VfsFile -import com.soywiz.korio.stream.AsyncStream -import com.soywiz.korio.stream.readBytesExact -import com.soywiz.korio.stream.sliceStart -import kotlin.math.pow - -/* - https://github.com/electronoora/webaudio-mod-player - - (c) 2012-2021 Noora Halme et al. (see AUTHORS) - - This code is licensed under the MIT license: - http://www.opensource.org/licenses/mit-license.php - - Protracker module player class - - todo: - - pattern looping is broken (see mod.black_queen) - - properly test EEx delay pattern -*/ - -object MOD : BaseModuleTracker.Format("mod") { - override fun createTracker(): BaseModuleTracker = Protracker() - override suspend fun fastValidate(data: AsyncStream): Boolean { - val bytes = data.sliceStart(1080).readBytesExact(4) - val signature = CharArray(4) { bytes[it].toChar() }.concatToString() - val channels = when (signature) { - "M.K.", "M!K!", "4CHN", "FLT4" -> 4 - "6CHN" -> 6 - "8CHN", "FLT8" -> 8 - "28CH" -> 28 - else -> return false - } - return true - } -} - -suspend fun VfsFile.readMOD(soundProvider: NativeSoundProvider = nativeSoundProvider): Sound = - Protracker().createSoundFromFile(this) - -// constructor for protracker player object -class Protracker : BaseModuleTracker() { - var paused = false - var repeat = false - var filter = false - var mixval = 4.0 - var syncqueue = IntDeque() - - // paula period values - val baseperiodtable = floatArrayOf( - 856f, 808f, 762f, 720f, 678f, 640f, 604f, 570f, 538f, 508f, 480f, 453f, 428f, 404f, 381f, 360f, 339f, 320f, - 302f, 285f, 269f, 254f, 240f, 226f, 214f, 202f, 190f, 180f, 170f, 160f, 151f, 143f, 135f, 127f, 120f, 113f - ) - - // finetune multipliers - val finetunetable = FloatArray(16) { 2f.pow((it - 8).toFloat() / 12f / 8f) } - - // calc tables for vibrato waveforms - val vibratotable = arrayOf(FloatArray(64) { 127 * kotlin.math.sin(kotlin.math.PI.toFloat() * 2 * (it / 64f)) }, - FloatArray(64) { 127f - 4f * it }, - FloatArray(64) { if (it < 32) 127f else -127f }, - FloatArray(64) { (1 - 2 * kotlin.random.Random.nextFloat()) * 127 }) - - // effect jumptables - val effects_t0 = arrayOf( - ::effect_t0_0, ::effect_t0_1, ::effect_t0_2, ::effect_t0_3, ::effect_t0_4, ::effect_t0_5, ::effect_t0_6, - ::effect_t0_7, ::effect_t0_8, ::effect_t0_9, ::effect_t0_a, ::effect_t0_b, ::effect_t0_c, ::effect_t0_d, - ::effect_t0_e, ::effect_t0_f - ) - val effects_t0_e = arrayOf( - ::effect_t0_e0, ::effect_t0_e1, ::effect_t0_e2, ::effect_t0_e3, ::effect_t0_e4, ::effect_t0_e5, - ::effect_t0_e6, ::effect_t0_e7, ::effect_t0_e8, ::effect_t0_e9, ::effect_t0_ea, ::effect_t0_eb, - ::effect_t0_ec, ::effect_t0_ed, ::effect_t0_ee, ::effect_t0_ef - ) - val effects_t1 = arrayOf( - ::effect_t1_0, ::effect_t1_1, ::effect_t1_2, ::effect_t1_3, ::effect_t1_4, ::effect_t1_5, ::effect_t1_6, - ::effect_t1_7, ::effect_t1_8, ::effect_t1_9, ::effect_t1_a, ::effect_t1_b, ::effect_t1_c, ::effect_t1_d, - ::effect_t1_e, ::effect_t1_f - ) - val effects_t1_e = arrayOf( - ::effect_t1_e0, ::effect_t1_e1, ::effect_t1_e2, ::effect_t1_e3, ::effect_t1_e4, ::effect_t1_e5, - ::effect_t1_e6, ::effect_t1_e7, ::effect_t1_e8, ::effect_t1_e9, ::effect_t1_ea, ::effect_t1_eb, - ::effect_t1_ec, ::effect_t1_ed, ::effect_t1_ee, ::effect_t1_ef - ) - - class Sample( - var name: String = "", - var length: Int = 0, - var finetune: Int = 0, - var volume: Int = 64, - var loopstart: Int = 0, - var looplength: Int = 0, - var data: FloatArray = FloatArray(0), - ) - - data class Channel( - var sample: Int = 0, - var period: Int = 214, - var voiceperiod: Double = 214.0, - var note: Int = 24, - var volume: Int = 64, - var command: Int = 0, - var data: Int = 0, - var samplepos: Double = 0.0, - var samplespeed: Double = 0.0, - var flags: Int = 0, - var noteon: Int = 0, - var slidespeed: Int = 0, - var slideto: Int = 214, - var slidetospeed: Int = 0, - var arpeggio: Int = 0, - var semitone: Double = 12.0, - var vibratospeed: Int = 0, - var vibratodepth: Int = 0, - var vibratopos: Int = 0, - var vibratowave: Int = 0, - ) - - var title: String = "" - var signature: String = "" - var songlen = 1 - var repeatpos = 0 - var patterntable: Uint8Buffer = Uint8Buffer(0) - var channels: Int = 4 - var sample = emptyArray() - var samples: Int = 31 - var pattern = emptyArray() - var note = emptyArray() - var pattern_unpack = emptyArray() - var patterns: Int = 0 - var chvu: FloatArray = FloatArray(0) - var looprow: Int = 0 - var loopstart: Int = 0 - var loopcount: Int = 0 - var patterndelay: Int = 0 - var patternwait: Int = 0 - - // clear song data - fun clearsong() { - title = "" - signature = "" - - songlen = 1 - repeatpos = 0 - patterntable = Uint8Buffer(128) - - channels = 4 - - sample = Array(31) { Sample() } - samples = 31 - - patterns = 0 - pattern = emptyArray() - note = emptyArray() - pattern_unpack = emptyArray() - - looprow = 0 - loopstart = 0 - loopcount = 0 - - patterndelay = 0 - patternwait = 0 - } - - var tick = 0 - var position = 0 - var row = 0 - var offset = 0 - var flags = 0 - var speed = 6 - var bpm = 125 - var breakrow = 0 - var patternjump = 0 - var channel = emptyArray() - - // initialize all player variables - override fun initialize() { - syncqueue = IntDeque() - - tick = 0 - position = 0 - row = 0 - offset = 0 - flags = 0 - - speed = 6 - bpm = 125 - breakrow = 0 - patternjump = 0 - patterndelay = 0 - patternwait = 0 - endofsong = false - - channel = Array(channels) { Channel() } - } - - init { - clearsong() - initialize() - } - - // parse the module from local buffer - override fun parse(buffer: Uint8Buffer): Boolean { - signature = CharArray(4) { buffer[1080 + it].toChar() }.concatToString() - when (signature) { - "M.K.", "M!K!", "4CHN", "FLT4" -> Unit - "6CHN" -> channels = 6 - "8CHN", "FLT8" -> channels = 8 - "28CH" -> channels = 28 - else -> return false - } - chvu = FloatArray(channels) - - run { - var i = 0 - while (buffer[i] != 0 && i < 20) this.title = this.title + buffer[i++].toChar() - } - - for (i in 0 until samples) { - val st = 20 + i * 30 - var j = 0 - val sample = sample[i] - while (buffer[st + j] != 0 && j < 22) { - sample.name += if ((buffer[st + j] > 0x1f) && (buffer[st + j] < 0x7f)) (buffer[st + j].toChar()) else ' ' - j++ - } - sample.length = 2 * (buffer[st + 22] * 256 + buffer[st + 23]) - sample.finetune = buffer[st + 24] - if (sample.finetune > 7) sample.finetune = sample.finetune - 16 - sample.volume = buffer[st + 25] - sample.loopstart = 2 * (buffer[st + 26] * 256 + buffer[st + 27]) - sample.looplength = 2 * (buffer[st + 28] * 256 + buffer[st + 29]) - if (sample.looplength == 2) sample.looplength = 0 - if (sample.loopstart > sample.length) { - sample.loopstart = 0 - sample.looplength = 0 - } - } - - songlen = buffer[950] - if (buffer[951] != 127) repeatpos = buffer[951] - for (i in 0 until 128) { - patterntable[i] = buffer[952 + i] - if (patterntable[i] > patterns) patterns = patterntable[i] - } - patterns += 1 - val patlen = 4 * 64 * channels - - pattern = Array(patterns) { Uint8Buffer(patlen) } - note = Array(patterns) { Uint8Buffer(channels * 64) } - pattern_unpack = Array(patterns) { Uint8Buffer(channels * 64 * 5) } - for (i in 0 until patterns) { - for (j in 0 until patlen) pattern[i][j] = buffer[1084 + i * patlen + j] - for (j in 0 until 64) { - for (c in 0 until channels) { - note[i][j * channels + c] = 0 - val n: Int = - ((pattern[i][j * 4 * channels + c * 4] and 0x0f) shl 8) or pattern[i][j * 4 * channels + c * 4 + 1] - for (np in baseperiodtable.indices) { - if (n.toFloat() == baseperiodtable[np]) { - note[i][j * channels + c] = np - } - } - } - } - for (j in 0 until 64) { - for (c in 0 until channels) { - val pp = j * 4 * channels + c * 4 - val ppu = j * 5 * channels + c * 5 - var n = ((pattern[i][pp] and 0x0f) shl 8) or pattern[i][pp + 1] - if (n != 0) { - n = note[i][j * channels + c] - n = (n % 12) or ((kotlin.math.floor(n.toDouble() / 12) + 2).toInt() shl 4); - } - val patternu = pattern_unpack[i] - patternu[ppu + 0] = if (n != 0) n else 255 - patternu[ppu + 1] = (pattern[i][pp + 0] and 0xf0) or (pattern[i][pp + 2] ushr 4) - patternu[ppu + 2] = 255 - patternu[ppu + 3] = (pattern[i][pp + 2] and 0x0f) - patternu[ppu + 4] = pattern[i][pp + 3] - } - } - } - - var sst = 1084 + patterns * patlen - for (i in 0 until samples) { - sample[i].data = FloatArray(sample[i].length) - for (j in 0 until sample[i].length) { - var q: Float = buffer[sst + j].toFloat() - when { - q < 128 -> q /= 128f - else -> q = ((q - 128) / 128f) - 1f - } - sample[i].data[j] = q - } - sst += sample[i].length - } - - // look ahead at very first row to see if filter gets enabled - filter = false - for (ch in 0 until channels) { - val p = patterntable[0] - val pp = ch * 4 - val cmd = pattern[p][pp + 2] and 0x0f - val data = pattern[p][pp + 3] - if (cmd == 0x0e && ((data and 0xf0) == 0x00)) { - filter = (data and 0x01) == 0 - } - } - - // set lowpass cutoff - //if (this.context) { - // if (this.filter) { - // this.lowpassNode.frequency.value=3275; - // } else { - // this.lowpassNode.frequency.value=28867; - // } - //} - - chvu = FloatArray(channels) - - val computeTime = measureTime { - totalLengthInSamples = computeTime().toLong() - } - println("Computed song length in...$computeTime, totalLengthInSamples=$totalLengthInSamples") - //totalLengthInSamples = songlenInTicks.toLong() * spd.toLong() / 2 - //println("timeInTicks=$timeInTicks") - - return true - } - - val spd get() = (((samplerate * 60) / bpm.toDouble()) / 4) / 6 - - // 4:13 - fun computeTime(): Int { - initialize() - - var samples = 0 - var position = 0 - var row = 0 - val samplerate = this.samplerate - val songlen = this.songlen - val channels = this.channels - var bpm = this.bpm - var speed = this.speed - while (position < songlen) { - val pat = pattern[patterntable[position]] - for (ch in 0 until channels) { - // calculate playback position - val pp = row * 4 * channels + ch * 4 - val command = pat[pp + 2] and 0x0f - val data = pat[pp + 3] - if (command == 15) { - when { - data > 32 -> bpm = data - data != 0 -> speed = data - } - } - } - val stt = samplerate * 60 / bpm / 4 / 6 - //println("tick=$tick, speed=$speed, bpm=$bpm, stt=$stt offset=$offset, row=$row, position=$position, songlen=$songlen, samples=$samples") - samples += (stt * speed) - row++ - if (row >= 64) { - row = 0 - position++ - } - } - - initialize() - return samples - } - //fun computeTime(): Int { - // var ticks = 0 - // val spd = this.spd - // while (!endofsong) { - // advance() - // val stt = spd - // println("tick=$tick, speed=$speed, bpm=$bpm, stt=$stt offset=$offset, row=$row, position=$position, songlen=$songlen, samples=$samples") - // ticks++ - // offset += spd.toInt() - // } - // //playing = false - // initialize() - // return ticks - //} - - // advance player - fun advance() { - val spd = this.spd - - // advance player - if (offset > spd) { - tick++ - offset = 0 - flags = flags or 1 - } - if (tick >= speed) { - if (patterndelay != 0) { // delay pattern - if (tick < ((patternwait + 1) * speed)) { - patternwait++ - } else { - row++ - tick = 0 - flags = flags or 2 - patterndelay = 0 - } - } else { - if ((flags and (16 + 32 + 64)) != 0) { - when { - (flags and 64) != 0 -> { // loop pattern? - row = looprow - flags = flags and 0xa1 - flags = flags or 2 - } - (flags and 16) != 0 -> { // pattern jump/break? - position = patternjump - row = breakrow - patternjump = 0 - breakrow = 0 - flags = flags and 0xe1 - flags = flags or 2 - } - } - tick = 0 - } else { - row++ - tick = 0 - flags = flags or 2 - } - } - } - if (row >= 64) { - position++ - row = 0 - flags = flags or 4 - } - if (position >= songlen) { - if (repeat) { - position = 0 - } else { - endofsong = true - //mod.stop(); - } - return - } - } - - // mix an audio buffer with data - override fun mix(bufs: Array, buflen: Int) { - var f: Double - var p: Int - var pp: Int - var n: Int - var nn: Int - - val outp = FloatArray(2) - for (s in 0 until buflen) { - outp[0] = 0f - outp[1] = 0f - - if (!paused && !endofsong && playing) { - advance() - - var och = 0 - for (ch in 0 until channels) { - - // calculate playback position - p = patterntable[position] - pp = row * 4 * channels + ch * 4 - val channel = channel[ch] - if ((flags and 2) != 0) { // row - channel.command = pattern[p][pp + 2] and 0x0f - channel.data = pattern[p][pp + 3] - - if (!(channel.command == 0x0e && (channel.data and 0xf0) == 0xd0)) { - n = ((pattern[p][pp] and 0x0f) shl 8) or pattern[p][pp + 1] - if (n != 0) { - // noteon, except if command=3 (porta to note) - if ((channel.command != 0x03) && (channel.command != 0x05)) { - channel.period = n - channel.samplepos = 0.0 - if (channel.vibratowave > 3) { - channel.vibratopos = 0 - } - channel.flags = channel.flags or 3 // recalc speed - channel.noteon = 1 - } - // in either case, set the slide to note target - channel.slideto = n - } - nn = (pattern[p][pp + 0] and 0xf0) or (pattern[p][pp + 2] ushr 4) - if (nn != 0) { - channel.sample = nn - 1 - channel.volume = sample[nn - 1].volume - if (n == 0 && (channel.samplepos > sample[nn - 1].length)) { - channel.samplepos = 0.0 - } - } - } - } - channel.voiceperiod = channel.period.toDouble() - - // kill empty samples - if (sample[channel.sample].length == 0) channel.noteon = 0 - - // effects - if ((flags and 1) != 0) { - if (tick == 0) { - // process only on tick 0 - effects_t0[channel.command](this, ch) - } else { - effects_t1[channel.command](this, ch) - } - } - - // recalc note number from period - if ((channel.flags and 2) != 0) { - val baseperiodtable1 = baseperiodtable - for (np in baseperiodtable1.indices) { - if (baseperiodtable1[np] >= channel.period) { - channel.note = np - } - } - channel.semitone = 7.0 - if (channel.period >= 120) { - channel.semitone = - ((baseperiodtable1[channel.note] - baseperiodtable1[channel.note + 1]).toDouble()) - } - } - - // recalc sample speed and apply finetune - if (((channel.flags and 1) != 0 || (flags and 2) != 0) && channel.voiceperiod != 0.0) { - channel.samplespeed = 7093789.2 / (channel.voiceperiod * 2) * finetunetable[sample[channel.sample].finetune + 8] / samplerate - } - - // advance vibrato on each tick - if ((flags and 1) != 0) { - channel.vibratopos += channel.vibratospeed - channel.vibratopos = channel.vibratopos and 0x3f - } - - // mix channel to output - och = och xor (ch and 1) - f = 0.0 - if (channel.noteon != 0) { - if (sample[channel.sample].length > channel.samplepos) { - f = (sample[channel.sample].data[kotlin.math.floor(channel.samplepos).toInt()] * channel.volume) / 64.0 - } - outp[och] += f.toFloat() - channel.samplepos += channel.samplespeed - } - chvu[ch] = kotlin.math.max(chvu[ch].toDouble(), kotlin.math.abs(f)).toFloat() - - // loop or end samples - if (channel.noteon != 0) { - if (sample[channel.sample].loopstart != 0 || sample[channel.sample].looplength != 0) { - if (channel.samplepos >= (sample[channel.sample].loopstart + sample[channel.sample].looplength)) { - channel.samplepos -= sample[channel.sample].looplength - } - } else { - if (channel.samplepos >= sample[channel.sample].length) { - channel.noteon = 0 - } - } - } - - // clear channel flags - channel.flags = 0 - } - offset++ - flags = flags and 0x70 - } - - // done - store to output buffer - bufs[0][s] = outp[0] - bufs[1][s] = outp[1] - } - } - - // - // tick 0 effect functions - // - fun effect_t0_0(mod: Protracker, ch: Int) { // 0 arpeggio - val channel = mod.channel[ch] - channel.arpeggio = channel.data - } - - fun effect_t0_1(mod: Protracker, ch: Int) { // 1 slide up - val channel = mod.channel[ch] - if (channel.data != 0) channel.slidespeed = channel.data - } - - fun effect_t0_2(mod: Protracker, ch: Int) { // 2 slide down - val channel = mod.channel[ch] - if (channel.data != 0) channel.slidespeed = channel.data - } - - fun effect_t0_3(mod: Protracker, ch: Int) { // 3 slide to note - val channel = mod.channel[ch] - if (channel.data != 0) channel.slidetospeed = channel.data - } - - fun effect_t0_4(mod: Protracker, ch: Int) { // 4 vibrato - val channel = mod.channel[ch] - if ((channel.data and 0x0f) != 0 && (channel.data and 0xf0) != 0) { - channel.vibratodepth = (channel.data and 0x0f) - channel.vibratospeed = (channel.data and 0xf0) ushr 4 - } - mod.effects_t1[4](mod, ch) - } - - fun effect_t0_5(mod: Protracker, ch: Int) { // 5 - } - - fun effect_t0_6(mod: Protracker, ch: Int) { // 6 - } - - fun effect_t0_7(mod: Protracker, ch: Int) { // 7 - } - - fun effect_t0_8(mod: Protracker, ch: Int) { // 8 unused, used for syncing - mod.syncqueue.addFirst(mod.channel[ch].data and 0x0f) - } - - fun effect_t0_9(mod: Protracker, ch: Int) { // 9 set sample offset - val channel = mod.channel[ch] - channel.samplepos = (channel.data * 256).toDouble() - } - - fun effect_t0_a(mod: Protracker, ch: Int) { // a - } - - fun effect_t0_b(mod: Protracker, ch: Int) { // b pattern jump - mod.breakrow = 0 - mod.patternjump = mod.channel[ch].data - mod.flags = mod.flags or 16 - } - - fun effect_t0_c(mod: Protracker, ch: Int) { // c set volume - val channel = mod.channel[ch] - channel.volume = channel.data - } - - fun effect_t0_d(mod: Protracker, ch: Int) { // d pattern break - val channel = mod.channel[ch] - mod.breakrow = ((channel.data and 0xf0) ushr 4) * 10 + (channel.data and 0x0f) - if ((mod.flags and 16) == 0) mod.patternjump = mod.position + 1 - mod.flags = mod.flags or 16 - } - - fun effect_t0_e(mod: Protracker, ch: Int) { // e - val channel = mod.channel[ch] - val i = (channel.data and 0xf0) ushr 4 - mod.effects_t0_e[i](mod, ch) - } - - fun effect_t0_f(mod: Protracker, ch: Int) { // f set speed - val channel = mod.channel[ch] - if (channel.data > 32) { - mod.bpm = channel.data - } else { - if (channel.data != 0) mod.speed = channel.data - } - } - - - // - // tick 0 effect e functions - // - fun effect_t0_e0(mod: Protracker, ch: Int) { // e0 filter on/off - if (mod.channels > 4) return // use only for 4ch amiga tunes - val channel = mod.channel[ch] - mod.filter = (channel.data and 0x01) == 0 - } - - fun effect_t0_e1(mod: Protracker, ch: Int) { // e1 fine slide up - val channel = mod.channel[ch] - channel.period -= channel.data and 0x0f - if (channel.period < 113) channel.period = 113 - } - - fun effect_t0_e2(mod: Protracker, ch: Int) { // e2 fine slide down - val channel = mod.channel[ch] - channel.period += channel.data and 0x0f - if (channel.period > 856) channel.period = 856 - channel.flags = channel.flags or 1 - } - - fun effect_t0_e3(mod: Protracker, ch: Int) { // e3 set glissando - } - - fun effect_t0_e4(mod: Protracker, ch: Int) { // e4 set vibrato waveform - val channel = mod.channel[ch] - channel.vibratowave = channel.data and 0x07 - } - - fun effect_t0_e5(mod: Protracker, ch: Int) { // e5 set finetune - } - - fun effect_t0_e6(mod: Protracker, ch: Int) { // e6 loop pattern - val channel = mod.channel[ch] - if ((channel.data and 0x0f) != 0) { - when { - mod.loopcount != 0 -> mod.loopcount-- - else -> mod.loopcount = channel.data and 0x0f - } - if (mod.loopcount != 0) mod.flags = mod.flags or 64 - } else { - mod.looprow = mod.row - } - } - - fun effect_t0_e7(mod: Protracker, ch: Int) { // e7 - } - - fun effect_t0_e8(mod: Protracker, ch: Int) { // e8, use for syncing - val channel = mod.channel[ch] - mod.syncqueue.addFirst(channel.data and 0x0f) - } - - fun effect_t0_e9(mod: Protracker, ch: Int) { // e9 - } - - fun effect_t0_ea(mod: Protracker, ch: Int) { // ea fine volslide up - val channel = mod.channel[ch] - channel.volume += channel.data and 0x0f - if (channel.volume > 64) channel.volume = 64 - } - - fun effect_t0_eb(mod: Protracker, ch: Int) { // eb fine volslide down - val channel = mod.channel[ch] - channel.volume -= channel.data and 0x0f - if (channel.volume < 0) channel.volume = 0 - } - - fun effect_t0_ec(mod: Protracker, ch: Int) { // ec - } - - fun effect_t0_ed(mod: Protracker, ch: Int) { // ed delay sample - val channel = mod.channel[ch] - if (mod.tick == (channel.data and 0x0f)) { - // start note - val p = mod.patterntable[mod.position] - val pp = mod.row * 4 * mod.channels + ch * 4 - val pattern = mod.pattern[p] - run { - val n = ((pattern[pp] and 0x0f) shl 8) or pattern[pp + 1] - if (n != 0) { - channel.period = n - channel.voiceperiod = channel.period.toDouble() - channel.samplepos = 0.0 - if (channel.vibratowave > 3) channel.vibratopos = 0 - channel.flags = channel.flags or 3 // recalc speed - channel.noteon = 1 - } - } - run { - val n = (pattern[pp + 0] and 0xf0) or (pattern[pp + 2] ushr 4) - if (n != 0) { - channel.sample = n - 1 - channel.volume = mod.sample[n - 1].volume - } - } - } - } - - fun effect_t0_ee(mod: Protracker, ch: Int) { // ee delay pattern - val channel = mod.channel[ch] - mod.patterndelay = channel.data and 0x0f - mod.patternwait = 0 - } - - fun effect_t0_ef(mod: Protracker, ch: Int) { // ef - } - - - // - // tick 1+ effect functions - // - fun effect_t1_0(mod: Protracker, ch: Int) { // 0 arpeggio - val channel = mod.channel[ch] - if (channel.data != 0) { - var apn = channel.note - if ((mod.tick % 3) == 1) apn += channel.arpeggio ushr 4 - if ((mod.tick % 3) == 2) apn += channel.arpeggio and 0x0f - if (apn >= 0 && apn <= mod.baseperiodtable.size) channel.voiceperiod = - mod.baseperiodtable[apn].toDouble() - channel.flags = channel.flags or 1 - } - } - - fun effect_t1_1(mod: Protracker, ch: Int) { // 1 slide up - val channel = mod.channel[ch] - channel.period -= channel.slidespeed - if (channel.period < 113) channel.period = 113 - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_2(mod: Protracker, ch: Int) { // 2 slide down - val channel = mod.channel[ch] - channel.period += channel.slidespeed - if (channel.period > 856) channel.period = 856 - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_3(mod: Protracker, ch: Int) { // 3 slide to note - val channel = mod.channel[ch] - if (channel.period < channel.slideto) { - channel.period += channel.slidetospeed - if (channel.period > channel.slideto) channel.period = channel.slideto - } - if (channel.period > channel.slideto) { - channel.period -= channel.slidetospeed - if (channel.period < channel.slideto) channel.period = channel.slideto - } - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_4(mod: Protracker, ch: Int) { // 4 vibrato - val channel = mod.channel[ch] - val waveform = mod.vibratotable[channel.vibratowave and 3][channel.vibratopos] / 63.0 //127.0; - - // two different implementations for vibrato - // var a=(mod.channel[ch].vibratodepth/32)*mod.channel[ch].semitone*waveform; // non-linear vibrato +/- semitone - val a = channel.vibratodepth * waveform // linear vibrato, depth has more effect high notes - - channel.voiceperiod += a - channel.flags = channel.flags or 1 - } - - fun effect_t1_5(mod: Protracker, ch: Int) { // 5 volslide + slide to note - mod.effect_t1_3(mod, ch) // slide to note - mod.effect_t1_a(mod, ch) // volslide - } - - fun effect_t1_6(mod: Protracker, ch: Int) { // 6 volslide + vibrato - mod.effect_t1_4(mod, ch) // vibrato - mod.effect_t1_a(mod, ch) // volslide - } - - fun effect_t1_7(mod: Protracker, ch: Int) { // 7 - } - - fun effect_t1_8(mod: Protracker, ch: Int) { // 8 unused - } - - fun effect_t1_9(mod: Protracker, ch: Int) { // 9 set sample offset - } - - fun effect_t1_a(mod: Protracker, ch: Int) { // a volume slide - val channel = mod.channel[ch] - if ((channel.data and 0x0f) == 0) { - // y is zero, slide up - channel.volume += (channel.data ushr 4) - if (channel.volume > 64) channel.volume = 64 - } - if ((channel.data and 0xf0) == 0) { - // x is zero, slide down - channel.volume -= (channel.data and 0x0f) - if (channel.volume < 0) channel.volume = 0 - } - } - - fun effect_t1_b(mod: Protracker, ch: Int) { // b pattern jump - } - - fun effect_t1_c(mod: Protracker, ch: Int) { // c set volume - } - - fun effect_t1_d(mod: Protracker, ch: Int) { // d pattern break - } - - fun effect_t1_e(mod: Protracker, ch: Int) { // e - val channel = mod.channel[ch] - val i = (channel.data and 0xf0) ushr 4 - mod.effects_t1_e[i](mod, ch) - } - - fun effect_t1_f(mod: Protracker, ch: Int) { // f - } - - - // - // tick 1+ effect e functions - // - fun effect_t1_e0(mod: Protracker, ch: Int) { // e0 - } - - fun effect_t1_e1(mod: Protracker, ch: Int) { // e1 - } - - fun effect_t1_e2(mod: Protracker, ch: Int) { // e2 - } - - fun effect_t1_e3(mod: Protracker, ch: Int) { // e3 - } - - fun effect_t1_e4(mod: Protracker, ch: Int) { // e4 - } - - fun effect_t1_e5(mod: Protracker, ch: Int) { // e5 - } - - fun effect_t1_e6(mod: Protracker, ch: Int) { // e6 - } - - fun effect_t1_e7(mod: Protracker, ch: Int) { // e7 - } - - fun effect_t1_e8(mod: Protracker, ch: Int) { // e8 - } - - fun effect_t1_e9(mod: Protracker, ch: Int) { // e9 retrig sample - val channel = mod.channel[ch] - if (mod.tick % (channel.data and 0x0f) == 0) channel.samplepos = 0.0 - } - - fun effect_t1_ea(mod: Protracker, ch: Int) { // ea - } - - fun effect_t1_eb(mod: Protracker, ch: Int) { // eb - } - - fun effect_t1_ec(mod: Protracker, ch: Int) { // ec cut sample - val channel = mod.channel[ch] - if (mod.tick == (channel.data and 0x0f)) channel.volume = 0 - } - - fun effect_t1_ed(mod: Protracker, ch: Int) { // ed delay sample - mod.effect_t0_ed(mod, ch) - } - - fun effect_t1_ee(mod: Protracker, ch: Int) { // ee - } - - fun effect_t1_ef(mod: Protracker, ch: Int) { // ef - } -} diff --git a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/S3M.kt b/korau/src/commonMain/kotlin/com/soywiz/korau/mod/S3M.kt deleted file mode 100644 index 47a043a84e..0000000000 --- a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/S3M.kt +++ /dev/null @@ -1,1185 +0,0 @@ -@file:Suppress("unused", "NAME_SHADOWING", "UNUSED_PARAMETER", "FunctionName", "MemberVisibilityCanBePrivate") - -package com.soywiz.korau.mod - -import com.soywiz.kds.IntDeque -import com.soywiz.klock.measureTime -import com.soywiz.kmem.* -import com.soywiz.korau.sound.NativeSoundProvider -import com.soywiz.korau.sound.Sound -import com.soywiz.korau.sound.nativeSoundProvider -import com.soywiz.korio.file.VfsFile -import com.soywiz.korio.stream.AsyncStream -import com.soywiz.korio.stream.readBytesExact -import com.soywiz.korio.stream.sliceStart -import kotlin.random.Random - -/* - (c) 2012-2021 Noora Halme et al. (see AUTHORS) - - This code is licensed under the MIT license: - http://www.opensource.org/licenses/mit-license.php - - Scream Tracker 3 module player class - - todo: - - are Exx, Fxx and Gxx supposed to share a single - command data memory? -*/ - -object S3M : BaseModuleTracker.Format("s3m") { - override fun createTracker(): BaseModuleTracker = Screamtracker() - override suspend fun fastValidate(data: AsyncStream): Boolean { - val buffer = data.sliceStart(0x2c).readBytesExact(4) - val signature = CharArray(4) { buffer[it].toChar() }.concatToString() - return signature == "SCRM" - } -} - -suspend fun VfsFile.readS3M(soundProvider: NativeSoundProvider = nativeSoundProvider): Sound = - Screamtracker().createSoundFromFile(this) - -class Screamtracker : BaseModuleTracker() { - var paused = false - var repeat = false - - var filter = false - - var syncqueue = IntDeque() - - var title: String = "" - var signature: String = "" - var songlen: Int = 1 - var repeatpos: Int = 0 - var patterntable: Uint8Buffer = Uint8Buffer(0) - var channels: Int = 0 - var ordNum: Int = 0 - var insNum: Int = 0 - var patNum: Int = 0 - var globalVol: Int = 64 - var initSpeed: Int = 6 - var initBPM: Int = 125 - var fastslide: Int = 0 - var mixval: Double = 8.0 - var sample: Array = emptyArray() - var pattern: Array = emptyArray() - var channel: Array = emptyArray() - var looprow: Int = 0 - var loopstart: Int = 0 - var loopcount: Int = 0 - var patterndelay: Int = 0 - var patternwait: Int = 0 - - var tick: Int = -1 - var position: Int = 0 - var row: Int = 0 - var flags: Int = 0 - - var patterns: Int = 0 - - var chvu: FloatArray = FloatArray(0) - - var volume: Int = globalVol - var speed: Int = initSpeed - var bpm: Int = initBPM - var stt: Double = 0.0 - var breakrow: Int = 0 - var patternjump: Int = 0 - - val mod = this - - val periodtable = floatArrayOf( - 27392f, 25856f, 24384f, 23040f, 21696f, 20480f, 19328f, 18240f, 17216f, 16256f, 15360f, 14496f, - 13696f, 12928f, 12192f, 11520f, 10848f, 10240f, 9664f, 9120f, 8608f, 8128f, 7680f, 7248f, - 6848f, 6464f, 6096f, 5760f, 5424f, 5120f, 4832f, 4560f, 4304f, 4064f, 3840f, 3624f, - 3424f, 3232f, 3048f, 2880f, 2712f, 2560f, 2416f, 2280f, 2152f, 2032f, 1920f, 1812f, - 1712f, 1616f, 1524f, 1440f, 1356f, 1280f, 1208f, 1140f, 1076f, 1016f, 960f, 906f, - 856f, 808f, 762f, 720f, 678f, 640f, 604f, 570f, 538f, 508f, 480f, 453f, - 428f, 404f, 381f, 360f, 339f, 320f, 302f, 285f, 269f, 254f, 240f, 226f, - 214f, 202f, 190f, 180f, 170f, 160f, 151f, 143f, 135f, 127f, 120f, 113f, - 107f, 101f, 95f, 90f, 85f, 80f, 75f, 71f, 67f, 63f, 60f, 56f - ) - - val retrigvoltab = floatArrayOf( - 0f, -1f, -2f, -4f, -8f, -16f, 0.66f, 0.5f, - 0f, 1f, 2f, 4f, 8f, 16f, 1.50f, 2.0f - ) - - val pan_r = FloatArray(32) { 0.5f } - val pan_l = FloatArray(32) { 0.5f } - - // calc tables for vibrato waveforms - val vibratotable = arrayOf( - FloatArray(256) { 127f * kotlin.math.sin(kotlin.math.PI * 2f * (it / 256f)).toFloat() }, - FloatArray(256) { 127f - it }, - FloatArray(256) { if (it < 128) 127f else -128f }, - FloatArray(256) { Random.nextFloat() * 255f - 128f }, - ) - - // effect jumptables for tick 0 and tick 1+ - val effects_t0 = arrayOf( - null, // zero is ignored - ::effect_t0_a, ::effect_t0_b, ::effect_t0_c, ::effect_t0_d, ::effect_t0_e, - ::effect_t0_f, ::effect_t0_g, ::effect_t0_h, ::effect_t0_i, ::effect_t0_j, - ::effect_t0_k, ::effect_t0_l, ::effect_t0_m, ::effect_t0_n, ::effect_t0_o, - ::effect_t0_p, ::effect_t0_q, ::effect_t0_r, ::effect_t0_s, ::effect_t0_t, - ::effect_t0_u, ::effect_t0_v, ::effect_t0_w, ::effect_t0_x, ::effect_t0_y, - ::effect_t0_z - ) - val effects_t0_s = arrayOf( - ::effect_t0_s0, ::effect_t0_s1, ::effect_t0_s2, ::effect_t0_s3, ::effect_t0_s4, - ::effect_t0_s5, ::effect_t0_s6, ::effect_t0_s7, ::effect_t0_s8, ::effect_t0_s9, - ::effect_t0_sa, ::effect_t0_sb, ::effect_t0_sc, ::effect_t0_sd, ::effect_t0_se, - ::effect_t0_sf - ) - val effects_t1 = arrayOf( - null, // zero is ignored - ::effect_t1_a, ::effect_t1_b, ::effect_t1_c, ::effect_t1_d, ::effect_t1_e, - ::effect_t1_f, ::effect_t1_g, ::effect_t1_h, ::effect_t1_i, ::effect_t1_j, - ::effect_t1_k, ::effect_t1_l, ::effect_t1_m, ::effect_t1_n, ::effect_t1_o, - ::effect_t1_p, ::effect_t1_q, ::effect_t1_r, ::effect_t1_s, ::effect_t1_t, - ::effect_t1_u, ::effect_t1_v, ::effect_t1_w, ::effect_t1_x, ::effect_t1_y, - ::effect_t1_z - ) - val effects_t1_s = arrayOf( - ::effect_t1_s0, ::effect_t1_s1, ::effect_t1_s2, ::effect_t1_s3, ::effect_t1_s4, - ::effect_t1_s5, ::effect_t1_s6, ::effect_t1_s7, ::effect_t1_s8, ::effect_t1_s9, - ::effect_t1_sa, ::effect_t1_sb, ::effect_t1_sc, ::effect_t1_sd, ::effect_t1_se, - ::effect_t1_sf - ) - - init { - clearsong() - initialize() - } - - class Sample( - var length: Int = 0, - var loopstart: Int = 0, - var loopend: Int = 0, - var looplength: Int = 0, - var volume: Int = 64, - var loop: Int = 0, - var c2spd: Int = 8363, - var name: String = "", - var data: FloatArray = FloatArray(0), - var stereo: Int = 0, - var bits: Int = 8, - ) - - // clear song data - fun clearsong() { - title = "" - signature = "" - - songlen = 1 - repeatpos = 0 - patterntable = Uint8Buffer(256) - - channels = 0 - ordNum = 0 - insNum = 0 - patNum = 0 - - globalVol = 64 - initSpeed = 6 - initBPM = 125 - - fastslide = 0 - - mixval = 8.0 - - sample = Array(256) { Sample() } - - pattern = emptyArray() - - looprow = 0 - loopstart = 0 - loopcount = 0 - - patterndelay = 0 - patternwait = 0 - } - - class Channel( - var sample: Int = 0, - var note: Int = 24, - var command: Int = 0, - var data: Int = 0, - var samplepos: Double = 0.0, - var samplespeed: Double = 0.0, - var flags: Int = 0, - var noteon: Int = 0, - - var slidespeed: Int = 0, - var slideto: Double = 0.0, - var slidetospeed: Int = 0, - var arpeggio: Int = 0, - - var period: Double = 0.0, - var volume: Int = 64, - var voiceperiod: Double = 0.0, - var voicevolume: Int = 0, - var oldvoicevolume: Int = 0, - - var semitone: Int = 12, - var vibratospeed: Int = 0, - var vibratodepth: Int = 0, - var vibratopos: Int = 0, - var vibratowave: Int = 0, - - var lastoffset: Int = 0, - var lastretrig: Int = 0, - - var volramp: Double = 0.0, - var volrampfrom: Int = 0, - - var trigramp: Double = 0.0, - var trigrampfrom: Double = 0.0, - - var currentsample: Double = 0.0, - var lastsample: Double = 0.0, - - var volslide: Int = 0, - ) - - // initialize all player variables to defaults prior to starting playback - override fun initialize() { - syncqueue = IntDeque() - - tick = -1 - position = 0 - row = 0 - flags = 0 - - volume = globalVol - speed = initSpeed - bpm = initBPM - stt = 0.0 - breakrow = 0 - patternjump = 0 - patterndelay = 0 - patternwait = 0 - endofsong = false - - channel = Array(channels) { Channel() } - } - - // parse the module from local buffer - override fun parse(buffer: Uint8Buffer): Boolean { - // check s3m signature and type - signature = CharArray(4) { buffer[0x002c + it].toChar() }.concatToString() - if (signature != "SCRM") return false - if (buffer[0x001d] != 0x10) return false - - // get channel count - channels = 0 - for (i in 0 until 32) { - if ((buffer[0x0040 + i] and 0x80) != 0) break - channels++ - } - - // default panning 3/C/3/... - for (i in 0 until 32) { - if ((buffer[0x0040 + i] and 0x80) == 0) { - val c = buffer[0x0040 + i] and 15 - pan_r[i] = if (c < 8) 0.2f else 0.8f - pan_l[i] = if (c < 8) 0.8f else 0.2f - } - } - - title = CharArray(0x1c) { dos2utf(buffer[it]) }.concatToString().trimEnd('\u0000') - - ordNum = buffer[0x0020] or (buffer[0x0021] shl 8) - insNum = buffer[0x0022] or (buffer[0x0023] shl 8) - patNum = buffer[0x0024] or (buffer[0x0025] shl 8) - - globalVol = buffer[0x0030] - initSpeed = buffer[0x0031] - initBPM = buffer[0x0032] - - fastslide = if ((buffer[0x0026] and 64) != 0) 1 else 0 - - speed = initSpeed - bpm = initBPM - - // check for additional panning info - if (buffer[0x0035] == 0xfc) { - for (i in 0 until 32) { - var c = buffer[0x0070 + ordNum + insNum * 2 + patNum * 2 + i] - if ((c and 0x10) != 0) { - c = c and 0x0f - pan_r[i] = c / 15f - pan_l[i] = 1f - pan_r[i] - } - } - } - - // check for mono panning - mixval = buffer[0x0033].toDouble() - if ((mixval.toInt() and 0x80) == 0x80) { - for (i in 0 until 32) { - pan_r[i] = 0.5f - pan_l[i] = 0.5f - } - } - - // calculate master mix scaling factor - mixval = 128.0 / kotlin.math.max(0x10, mixval.toInt() and 0x7f).toDouble() // (8.0 when mastervol is 0x10, 1.0 when mastervol is 0x7f) - - // load orders - for (i in 0 until ordNum) patterntable[i] = buffer[0x0060 + i] - songlen = 0 - for (i in 0 until ordNum) if (patterntable[i] != 255) songlen++ - - // load instruments - sample = Array(insNum) { i -> - val offset = (buffer[0x0060 + ordNum + i * 2] or (buffer[0x0060 + ordNum + i * 2 + 1] shl 8)) * 16 - // sample data - val smpoffset = (((buffer[offset + 0x0d] shl 16) or (buffer[offset + 0x0e]) or (buffer[offset + 0x0f] shl 8)) * 16) - val loopstart = buffer[offset + 0x14] or (buffer[offset + 0x15] shl 8) - val loopend = buffer[offset + 0x18] or (buffer[offset + 0x19] shl 8) - val length = buffer[offset + 0x10] or (buffer[offset + 0x11] shl 8) - //println("SAMPLE:offset=${offset},smpoffset=$smpoffset,loopstart=$loopstart,loopend=$loopend,length=$length") - Sample( - name = CharArray(28) { dos2utf(buffer[offset + 0x0030 + it]) }.concatToString().trimEnd('\u0000'), - length = length, - loopstart = loopstart, - loopend = loopend, - looplength = loopend - loopstart, - volume = buffer[offset + 0x1c], - loop = buffer[offset + 0x1f] and 1, - stereo = (buffer[offset + 0x1f] and 2) ushr 1, - bits = if ((buffer[offset + 0x1f] and 4) != 0) 16 else 8, - c2spd = buffer[offset + 0x20] or (buffer[offset + 0x21] shl 8), - data = FloatArray(length) { (buffer[smpoffset + it] - 128).toFloat() / 128f } // convert to mono float signed, - ) - } - - // load and unpack patterns - var max_ch = 0 - pattern = Array(patNum) { Uint8Buffer(channels * 64 * 5) } - for (i in 0 until patNum) { - val boffset = 0x0060 + ordNum + insNum * 2 + i * 2 - var offset = (buffer[boffset] or (buffer[boffset + 1] shl 8)) * 16 - var patlen = buffer[offset] or (buffer[offset + 1] shl 8) - - val pattern = pattern[i] - for (row in 0 until 64) { - for (ch in 0 until channels) { - val opattern = row * channels * 5 + ch * 5 - pattern[opattern + 0] = 255 - pattern[opattern + 1] = 0 - pattern[opattern + 2] = 255 - pattern[opattern + 3] = 255 - pattern[opattern + 4] = 0 - } - } - - if (offset == 0) continue // fix for control_e.s3m - var row = 0 - var pos = 0 - offset += 2 - while (row < 64) { - val c = buffer[offset + pos++] - if (c == 0) { - row++ - continue - } - val ch = c and 31 - if (ch < channels) { - if (ch > max_ch) { - for (j in 0 until songlen) { - if (patterntable[j] == i) max_ch = ch - } // only if pattern is actually used - } - val opattern = row * channels * 5 + ch * 5 - if ((c and 32) != 0) { - pattern[opattern + 0] = buffer[offset + pos++] // note - pattern[opattern + 1] = buffer[offset + pos++] // instrument - } - if ((c and 64) != 0) { - pattern[opattern + 2] = buffer[offset + pos++] - } // volume - if ((c and 128) != 0) { - pattern[opattern + 3] = buffer[offset + pos++] // command - pattern[opattern + 4] = buffer[offset + pos++] // parameter - if (pattern[opattern + 3] == 0 || pattern[opattern + 3] > 26) { - pattern[opattern + 3] = 255 - } - } - } else { - if ((c and 32) != 0) pos += 2 - if ((c and 64) != 0) pos++ - if ((c and 128) != 0) pos += 2 - } - } - } - patterns = patNum - - // how many channels had actually pattern data on them? trim off the extra channels - val oldch = channels - channels = max_ch + 1 - for (i in 0 until patNum) { - val oldpat = Uint8Buffer(pattern[i].size) - arraycopy(pattern[i], 0, oldpat, 0, pattern[i].size) - pattern[i] = Uint8Buffer(channels * 64 * 5) - val pattern = pattern[i] - for (j in 0 until 64) { - for (c in 0 until channels) { - val op = j * channels * 5 + c * 5 - val oop = j * oldch * 5 + c * 5 - pattern[op + 0] = oldpat[oop + 0] - pattern[op + 1] = oldpat[oop + 1] - pattern[op + 2] = oldpat[oop + 2] - pattern[op + 3] = oldpat[oop + 3] - pattern[op + 4] = oldpat[oop + 4] - } - } - } - - chvu = FloatArray(channels) { 0f } - - val computeTime = measureTime { - totalLengthInSamples = computeTime().toLong() - } - println("COMPUTED LENGTH IN: $computeTime, totalLengthInSamples=$totalLengthInSamples") - - return true - } - - fun computeTime(): Int { - initialize() - var samples = 0 - var speed = this.speed - var bpm = this.bpm - var row = 0 - var position = 0 - val channels = this.channels - val samplerate = this.samplerate - while (position < songlen) { - val pat = pattern.getOrNull(patterntable[position]) ?: continue - for (ch in 0 until channels) { - val pp = row * 5 * channels + ch * 5 - val command = pat[pp + 3] - val data = pat[pp + 4] - if (command == 1) speed = data - if (command == 20 && data > 32) bpm = data - // @TODO: Pattern Delay/patternwait - // @TODO: Loops? - } - val stt = samplerate * 60 / bpm / 4 / 6 // samples to tick - samples += (stt * speed) - row++ - if (row >= 64) { - row = 0 - position++ - } - //println("tick=$tick, speed=$speed, row=$row, position=$position, songlen=$songlen, loopstart=$loopstart,looprow=$looprow,loopcount=$loopcount, stt=$stt, samples=$samples") - } - return samples - } - - - // advance player - fun advance() { - stt = (((samplerate * 60).toDouble() / bpm.toDouble()) / 4.0) / 6.0 // samples to tick - - // advance player - tick++ - flags = flags or 1 - - // new row on this tick? - if (tick >= speed) { - if (patterndelay != 0) { // delay pattern - if (tick < ((patternwait + 1) * speed)) { - patternwait++ - } else { - row++; tick = 0; flags = flags or 2; patterndelay = 0 - } - } else { - if ((flags and (16 + 32 + 64)) != 0) { - if ((flags and 64) != 0) { // loop pattern? - row = looprow - flags = flags and 0xa1 - flags = flags or 2 - } else { - if ((flags and 16) != 0) { // pattern jump/break? - position = patternjump - row = breakrow - patternjump = 0 - breakrow = 0 - flags = flags and 0xe1 - flags = flags or 2 - } - } - tick = 0 - } else { - row++ - tick = 0 - flags = flags or 2 - } - } - } - - // step to new pattern? - if (row >= 64) { - position++ - row = 0 - flags = flags or 4 - while (patterntable[position] == 254) position++ // skip markers - } - - // end of song? - if (position >= songlen || patterntable[position] == 255) { - if (repeat) { - position = 0 - } else { - endofsong = true - } - return - } - } - - // process one channel on a row in pattern p, pp is an offset to pattern data - fun process_note(p: Int, ch: Int) { - val pp: Int = row * 5 * channels + ch * 5 - - val pat = pattern[p] - val n = pat[pp] - val s = pat[pp + 1] - val channel = channel[ch] - if (s != 0) { - channel.sample = s - 1 - channel.volume = sample[s - 1].volume - channel.voicevolume = channel.volume - if (n == 255 && (channel.samplepos > sample[s - 1].length)) { - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - channel.samplepos = 0.0 - } - } - - if (n < 254) { - // calc period for note - val n = (n and 0x0f) + (n ushr 4) * 12 - val pv = (8363.0 * periodtable[n]) / sample[channel.sample].c2spd.toDouble() - - // noteon, except if command=0x07 ('G') (porta to note) or 0x0c ('L') (porta+volslide) - if ((channel.command != 0x07) && (channel.command != 0x0c)) { - channel.note = n - channel.period = pv - channel.voiceperiod = channel.period - channel.samplepos = 0.0 - if (channel.vibratowave > 3) channel.vibratopos = 0 - - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - - channel.flags = channel.flags or 3 // force sample speed recalc - channel.noteon = 1 - } - // in either case, set the slide to note target to note period - channel.slideto = pv - } else if (n == 254) { - channel.noteon = 0 // sample off - channel.voicevolume = 0 - } - - if (pat[pp + 2] <= 64) { - channel.volume = pat[pp + 2] - channel.voicevolume = channel.volume - } - } - - - // advance player and all channels by a tick - fun process_tick() { - - // advance global player state by a tick - advance() - - // advance all channels - for (ch in 0 until channels) { - - // calculate playback position - val p = patterntable[position] - val pp = row * 5 * channels + ch * 5 - - val channel = channel[ch] - channel.oldvoicevolume = channel.voicevolume - - if ((flags and 2) != 0) { // new row - val pat = pattern.getOrNull(p) ?: continue - channel.command = pat[pp + 3] - channel.data = pat[pp + 4] - if (!(channel.command == 0x13 && (channel.data and 0xf0) == 0xd0)) { // note delay? - process_note(p, ch) - } - } - - // kill empty samples - if (sample[channel.sample].length == 0) channel.noteon = 0 - - // run effects on each new tick - if (channel.command < 27) { - if (tick == 0) { - // process only on tick 0 effects - effects_t0[channel.command]?.invoke(ch) - } else { - effects_t1[channel.command]?.invoke(ch) - } - } - - // advance vibrato on each new tick - channel.vibratopos += channel.vibratospeed * 2 - channel.vibratopos = channel.vibratopos and 0xff - - if (channel.oldvoicevolume != channel.voicevolume) { - channel.volrampfrom = channel.oldvoicevolume - channel.volramp = 0.0 - } - - // recalc sample speed if voiceperiod has changed - if (((channel.flags and 1) != 0 || (flags and 2) != 0) && channel.voiceperiod != 0.0) { - channel.samplespeed = (14317056.0 / channel.voiceperiod) / samplerate.toDouble() - } - - // clear channel flags - channel.flags = 0 - } - - // clear global flags after all channels are processed - flags = flags and 0x70 - } - - // mix an audio buffer with data - override fun mix(bufs: Array, buflen: Int) { - val outp = FloatArray(2) - - // return a buffer of silence if not playing - if (paused || endofsong || !playing) { - for (s in 0 until buflen) { - bufs[0][s] = 0f - bufs[1][s] = 0f - chvu.fill(0f) - } - return - } - - // fill audiobuffer - for (s in 0 until buflen) { - outp[0] = 0f - outp[1] = 0f - - // if STT has run out, step player forward by tick - if (stt <= 0) process_tick() - - // mix channels - //var count = 0 - //var line = "" - //sampleCount++ - //val doLog = sampleCount >= 5294; - for (ch in 0 until channels) { - var fl = 0.0 - var fr = 0.0 - var fs = 0.0 - val channel = channel[ch] - val si = channel.sample - - // add channel output to left/right master outputs - channel.currentsample = 0.0 // assume note is off - if (channel.noteon != 0 || (channel.noteon == 0 && channel.volramp < 1.0)) { - if (sample[si].length > channel.samplepos) { - fl = channel.lastsample - - // interpolate towards current sample - var f = channel.samplepos - kotlin.math.floor(channel.samplepos) - fs = sample[si].data[kotlin.math.floor(channel.samplepos).toInt()].toDouble() - fl = f * fs + (1.0 - f) * fl - //if (doLog) { - // count++ - // line += "${fl.niceStr}," - //} - //println(fl) - - // smooth out discontinuities from retrig and sample offset - f = channel.trigramp - fl = f * fl + (1.0 - f) * channel.trigrampfrom - f += 1.0 / 128.0 - channel.trigramp = kotlin.math.min(1.0, f) - channel.currentsample = fl - - // ramp volume changes over 64 samples to avoid clicks - fr = fl * (channel.voicevolume.toDouble() / 64.0) - f = channel.volramp - fl = f * fr + (1.0 - f) * (fl * (channel.volrampfrom / 64.0)) - f += (1.0 / 64.0) - channel.volramp = kotlin.math.min(1.0, f) - - // pan samples - fr = fl * pan_r[ch] - fl *= pan_l[ch] - } - outp[0] = (outp[0] + fl).toFloat() - outp[1] = (outp[1] + fr).toFloat() - - val oldpos = channel.samplepos - channel.samplepos += channel.samplespeed - if (kotlin.math.floor(channel.samplepos) > kotlin.math.floor(oldpos)) { - channel.lastsample = fs - } - - // loop or stop sample? - val sample = sample[channel.sample] - when { - sample.loop != 0 -> { - if (channel.samplepos >= sample.loopend) { - channel.samplepos -= sample.looplength - channel.lastsample = channel.currentsample - } - } - channel.samplepos >= sample.length -> channel.noteon = 0 - } - } - chvu[ch] = kotlin.math.max(chvu[ch].toDouble(), kotlin.math.abs(fl + fr)).toFloat() - //print("${chvu[ch].niceStr},") - } - //if (doLog) println("$sampleCount:$count:${line}channels=$channels") - - // done - store to output buffer - val t = volume / 64.0 - bufs[0][s] = (outp[0] * t).toFloat() - bufs[1][s] = (outp[1] * t).toFloat() - stt-- - } - } - var sampleCount = 0 - - // - // tick 0 effect functions - // - fun effect_t0_a(ch: Int) { // set speed - val channel = channel[ch] - if (channel.data > 0) speed = channel.data - } - - fun effect_t0_b(ch: Int) { // pattern jump - val channel = channel[ch] - breakrow = 0 - patternjump = channel.data - flags = flags or 16 - } - - fun effect_t0_c(ch: Int) { // pattern break - val channel = channel[ch] - breakrow = ((channel.data and 0xf0) ushr 4) * 10 + (channel.data and 0x0f) - if ((flags and 16) == 0) patternjump = position + 1 - flags = flags or 16 - } - - fun effect_t0_d(ch: Int) { // volume slide - val channel = channel[ch] - if (channel.data != 0) channel.volslide = channel.data - // DxF fine up - // DFx fine down - when { - (channel.volslide and 0x0f) == 0x0f -> channel.voicevolume += channel.volslide ushr 4 - (channel.volslide ushr 4) == 0x0f -> channel.voicevolume -= channel.volslide and 0x0f - else -> if (fastslide != 0) effect_t1_d(ch) - } - - if (channel.voicevolume < 0) channel.voicevolume = 0 - if (channel.voicevolume > 64) channel.voicevolume = 64 - } - - fun effect_t0_e(ch: Int) { // slide down - val channel = channel[ch] - if (channel.data != 0) channel.slidespeed = channel.data - if ((channel.slidespeed and 0xf0) == 0xf0) channel.voiceperiod += (channel.slidespeed and 0x0f) shl 2 - if ((channel.slidespeed and 0xf0) == 0xe0) channel.voiceperiod += (channel.slidespeed and 0x0f) - if (channel.voiceperiod > 27392) channel.noteon = 0 - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t0_f(ch: Int) { // slide up - val channel = channel[ch] - if (channel.data != 0) channel.slidespeed = channel.data - if ((channel.slidespeed and 0xf0) == 0xf0) channel.voiceperiod -= (channel.slidespeed and 0x0f) shl 2 - if ((channel.slidespeed and 0xf0) == 0xe0) channel.voiceperiod -= (channel.slidespeed and 0x0f) - if (channel.voiceperiod < 56) channel.noteon = 0 - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t0_g(ch: Int) { // slide to note - val channel = channel[ch] - // if (channel.data) channel.slidetospeed=channel.data; - if (channel.data != 0) channel.slidespeed = channel.data - } - - fun effect_t0_h(ch: Int) { // vibrato - val channel = channel[ch] - if ((channel.data and 0x0f) != 0 && (channel.data and 0xf0) != 0) { - channel.vibratodepth = (channel.data and 0x0f) - channel.vibratospeed = (channel.data and 0xf0) ushr 4 - } - } - - fun effect_t0_i(ch: Int) { // tremor - } - - fun effect_t0_j(ch: Int) { // arpeggio - val channel = channel[ch] - if (channel.data != 0) channel.arpeggio = channel.data - channel.voiceperiod = channel.period - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t0_k(ch: Int) { // vibrato + volslide - effect_t0_d(ch) - } - - fun effect_t0_l(ch: Int) { // slide to note + volslide - effect_t0_d(ch) - } - - fun effect_t0_m(ch: Int) { // - - } - - fun effect_t0_n(ch: Int) { // - - } - - fun effect_t0_o(ch: Int) { // set sample offset - val channel = channel[ch] - if (channel.data != 0) channel.lastoffset = channel.data - - if (channel.lastoffset * 256 < sample[channel.sample].length) { - channel.samplepos = (channel.lastoffset * 256).toDouble() - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - } - } - - fun effect_t0_p(ch: Int) { // - - } - - fun effect_t0_q(ch: Int) { // retrig note - val channel = channel[ch] - if (channel.data != 0) channel.lastretrig = channel.data - effect_t1_q(ch) // to retrig also on lines with no note but Qxy command - } - - fun effect_t0_r(ch: Int) { // tremolo - } - - fun effect_t0_s(ch: Int) { // Sxy effects - val channel = channel[ch] - val i = (channel.data and 0xf0) ushr 4 - effects_t0_s[i](ch) - } - - fun effect_t0_t(ch: Int) { // set tempo - val channel = channel[ch] - if (channel.data > 32) bpm = channel.data - } - - fun effect_t0_u(ch: Int) { // fine vibrato - } - - fun effect_t0_v(ch: Int) { // set global volume - val channel = channel[ch] - volume = channel.data - } - - fun effect_t0_w(ch: Int) { // - - } - - fun effect_t0_x(ch: Int) { // - - } - - fun effect_t0_y(ch: Int) { // - - } - - fun effect_t0_z(ch: Int) { // sync for FMOD (was: unused) - val channel = channel[ch] - syncqueue.addFirst(channel.data and 0x0f) - } - - - // - // tick 0 special Sxy effect functions - // - fun effect_t0_s0(ch: Int) { // set filter (not implemented) - } - - fun effect_t0_s1(ch: Int) { // set glissando control - } - - fun effect_t0_s2(ch: Int) { // sync for BASS (was: set finetune) - val channel = channel[ch] - syncqueue.addFirst(channel.data and 0x0f) - } - - fun effect_t0_s3(ch: Int) { // set vibrato waveform - val channel = channel[ch] - channel.vibratowave = channel.data and 0x07 - } - - fun effect_t0_s4(ch: Int) { // set tremolo waveform - } - - fun effect_t0_s5(ch: Int) { // - - } - - fun effect_t0_s6(ch: Int) { // - - } - - fun effect_t0_s7(ch: Int) { // - - } - - fun effect_t0_s8(ch: Int) { // set panning position - val channel = channel[ch] - pan_r[ch] = ((channel.data and 0x0f) / 15.0).toFloat() - pan_l[ch] = (1.0 - pan_r[ch]).toFloat() - } - - fun effect_t0_s9(ch: Int) { // - - } - - fun effect_t0_sa(ch: Int) { // old stereo control (not implemented) - } - - fun effect_t0_sb(ch: Int) { // loop pattern - val channel = channel[ch] - when { - (channel.data and 0x0f) != 0 -> { - when { - loopcount != 0 -> loopcount-- - else -> loopcount = channel.data and 0x0f - } - if (loopcount != 0) { - flags = flags or 64 - } - } - else -> { - looprow = row - } - } - } - - fun effect_t0_sc(ch: Int) { // note cut - } - - fun effect_t0_sd(ch: Int) { // note delay - val channel = channel[ch] - if (tick == (channel.data and 0x0f)) { - process_note(patterntable[position], ch) - } - } - - fun effect_t0_se(ch: Int) { // pattern delay - val channel = channel[ch] - patterndelay = channel.data and 0x0f - patternwait = 0 - } - - fun effect_t0_sf(ch: Int) { // funkrepeat (not implemented) - } - - // - // tick 1+ effect functions - // - fun effect_t1_a(ch: Int) { // set speed - } - - fun effect_t1_b(ch: Int) { // order jump - } - - fun effect_t1_c(ch: Int) { // jump to row - } - - fun effect_t1_d(ch: Int) { // volume slide - val channel = channel[ch] - if ((channel.volslide and 0x0f) == 0) { - // slide up - channel.voicevolume += channel.volslide ushr 4 - } else if ((channel.volslide ushr 4) == 0) { - // slide down - channel.voicevolume -= channel.volslide and 0x0f - } - channel.voicevolume = channel.voicevolume.clamp(0, 64) - } - - fun effect_t1_e(ch: Int) { // slide down - val channel = channel[ch] - if (channel.slidespeed < 0xe0) channel.voiceperiod += channel.slidespeed * 4 - if (channel.voiceperiod > 27392) channel.noteon = 0 - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_f(ch: Int) { // slide up - val channel = channel[ch] - if (channel.slidespeed < 0xe0) channel.voiceperiod -= channel.slidespeed * 4 - if (channel.voiceperiod < 56) channel.noteon = 0 - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_g(ch: Int) { // slide to note - val channel = channel[ch] - if (channel.voiceperiod < channel.slideto) { - //channelvoiceperiod+=4*channel.slidetospeed; - channel.voiceperiod += 4 * channel.slidespeed - if (channel.voiceperiod > channel.slideto) channel.voiceperiod = channel.slideto - } else if (channel.voiceperiod > channel.slideto) { - //channel.voiceperiod-=4*channel.slidetospeed; - channel.voiceperiod -= 4 * channel.slidespeed - if (channel.voiceperiod < channel.slideto) channel.voiceperiod = channel.slideto - } - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_h(ch: Int) { // vibrato - val channel = channel[ch] - channel.voiceperiod = (channel.voiceperiod + vibratotable[channel.vibratowave and 3][channel.vibratopos] * channel.vibratodepth / 128.0).clamp(56.0, 27392.0) - channel.flags = channel.flags or 1 - } - - fun effect_t1_i(ch: Int) { // tremor - } - - fun effect_t1_j(ch: Int) { // arpeggio - val channel = channel[ch] - var n = channel.note - if ((tick and 3) == 1) n += channel.arpeggio ushr 4 - if ((tick and 3) == 2) n += channel.arpeggio and 0x0f - channel.voiceperiod = (8363.0 * periodtable[n]) / sample[channel.sample].c2spd.toDouble() - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_k(ch: Int) { // vibrato + volslide - effect_t1_h(ch) - effect_t1_d(ch) - } - - fun effect_t1_l(ch: Int) { // slide to note + volslide - effect_t1_g(ch) - effect_t1_d(ch) - } - - fun effect_t1_m(ch: Int) { // - - } - - fun effect_t1_n(ch: Int) { // - - } - - fun effect_t1_o(ch: Int) { // set sample offset - } - - fun effect_t1_p(ch: Int) { // - - } - - fun effect_t1_q(ch: Int) { // retrig note - val channel = channel[ch] - if ((tick % (channel.lastretrig and 0x0f)) == 0) { - channel.samplepos = 0.0 - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - val v = channel.lastretrig ushr 4 - if ((v and 7) >= 6) { - channel.voicevolume = kotlin.math.floor(channel.voicevolume * retrigvoltab[v]).toInt() - } else { - channel.voicevolume += retrigvoltab[v].toInt() - } - channel.voicevolume = channel.voicevolume.clamp(0, 64) - } - } - - fun effect_t1_r(ch: Int) { // tremolo - } - - fun effect_t1_s(ch: Int) { // special effects - val channel = channel[ch] - val i = (channel.data and 0xf0) ushr 4 - effects_t1_s[i](ch) - } - - fun effect_t1_t(ch: Int) { // set tempo - } - - fun effect_t1_u(ch: Int) { // fine vibrato - } - - fun effect_t1_v(ch: Int) { // set global volume - } - - fun effect_t1_w(ch: Int) { // - - } - - fun effect_t1_x(ch: Int) { // - - } - - fun effect_t1_y(ch: Int) { // - - } - - fun effect_t1_z(ch: Int) { // - - } - - - // - // tick 1+ special Sxy effect functions - // - fun effect_t1_s0(ch: Int) { // set filter (not implemented) - } - - fun effect_t1_s1(ch: Int) { // set glissando control - } - - fun effect_t1_s2(ch: Int) { // set finetune - } - - fun effect_t1_s3(ch: Int) { // set vibrato waveform - } - - fun effect_t1_s4(ch: Int) { // set tremolo waveform - } - - fun effect_t1_s5(ch: Int) { // - - } - - fun effect_t1_s6(ch: Int) { // - - } - - fun effect_t1_s7(ch: Int) { // - - } - - fun effect_t1_s8(ch: Int) { // set panning position - } - - fun effect_t1_s9(ch: Int) { // - - } - - fun effect_t1_sa(ch: Int) { // old stereo control (not implemented) - } - - fun effect_t1_sb(ch: Int) { // loop pattern - } - - fun effect_t1_sc(ch: Int) { // note cut - val channel = channel[ch] - if (tick == (channel.data and 0x0f)) { - channel.volume = 0 - channel.voicevolume = 0 - } - } - - fun effect_t1_sd(ch: Int) { // note delay - effect_t0_sd(ch) - } - - fun effect_t1_se(ch: Int) { // pattern delay - } - - fun effect_t1_sf(ch: Int) { // funkrepeat (not implemented) - } - -} diff --git a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/UtilsExt.kt b/korau/src/commonMain/kotlin/com/soywiz/korau/mod/UtilsExt.kt deleted file mode 100644 index 7765d99afd..0000000000 --- a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/UtilsExt.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.soywiz.korau.mod - -import com.soywiz.kmem.Uint8Buffer - -// helper functions for picking up signed, unsigned, little endian, etc from an unsigned 8-bit buffer -internal fun le_word(buffer: Uint8Buffer, offset: Int): Int = buffer[offset] or (buffer[offset+1] shl 8) -internal fun le_dword(buffer: Uint8Buffer, offset: Int): Int = - buffer[offset] or (buffer[offset+1] shl 8) or (buffer[offset+2] shl 16) or (buffer[offset+3] shl 24) -internal fun s_byte(buffer: Uint8Buffer, offset: Int): Int = (buffer[offset] shl 24) shr 24 -internal fun s_le_word(buffer: Uint8Buffer, offset: Int): Int = (le_word(buffer,offset) shl 16) shr 16 - -// convert from MS-DOS extended ASCII to Unicode -private const val ASCII_EX_UNICODE = "\u00c7\u00fc\u00e9\u00e2\u00e4\u00e0\u00e5\u00e7\u00ea\u00eb\u00e8\u00ef\u00ee\u00ec\u00c4\u00c5\u00c9\u00e6\u00c6\u00f4\u00f6\u00f2\u00fb\u00f9\u00ff\u00d6\u00dc\u00f8\u00a3\u00d8\u00d7\u0192\u00e1\u00ed\u00f3\u00fa\u00f1\u00d1\u00aa\u00ba\u00bf\u00ae\u00ac\u00bd\u00bc\u00a1\u00ab\u00bb\u2591\u2592\u2593\u2502\u2524\u00c1\u00c2\u00c0\u00a9\u2563\u2551\u2557\u255d\u00a2\u00a5\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u00e3\u00c3\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u00a4\u00f0\u00d0\u00ca\u00cb\u00c8\u0131\u00cd\u00ce\u00cf\u2518\u250c\u2588\u2584\u00a6\u00cc\u2580\u00d3\u00df\u00d4\u00d2\u00f5\u00d5\u00b5\u00fe\u00de\u00da\u00db\u00d9\u00fd\u00dd\u00af\u00b4\u00ad\u00b1\u2017\u00be\u00b6\u00a7\u00f7\u00b8\u00b0\u00a8\u00b7\u00b9\u00b3\u00b2\u25a0\u00a0" - -internal fun dos2utf(c: Int): Char { - if (c < 128) return c.toChar() - return ASCII_EX_UNICODE[c - 128] -} diff --git a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/XM.kt b/korau/src/commonMain/kotlin/com/soywiz/korau/mod/XM.kt deleted file mode 100644 index 728174ff3e..0000000000 --- a/korau/src/commonMain/kotlin/com/soywiz/korau/mod/XM.kt +++ /dev/null @@ -1,1668 +0,0 @@ -@file:Suppress( - "MemberVisibilityCanBePrivate", "unused", "UNUSED_PARAMETER", "FunctionName", - "PropertyName", "NAME_SHADOWING" -) - -package com.soywiz.korau.mod - -import com.soywiz.kds.IntDeque -import com.soywiz.klock.measureTime -import com.soywiz.kmem.* -import com.soywiz.korau.sound.NativeSoundProvider -import com.soywiz.korau.sound.Sound -import com.soywiz.korau.sound.nativeSoundProvider -import com.soywiz.korio.file.VfsFile -import com.soywiz.korio.stream.AsyncStream -import com.soywiz.korio.stream.readBytesExact -import kotlin.math.pow -import kotlin.random.Random - -/* - https://github.com/electronoora/webaudio-mod-player - - (c) 2012-2021 Noora Halme et al. (see AUTHORS) - - This code is licensed under the MIT license: - http://www.opensource.org/licenses/mit-license.php - - Fast Tracker 2 module player class - - Reading material: - - ftp://ftp.modland.com/pub/documents/format_documentation/FastTracker%202%20v2.04%20(.xm).html - - http://sid.ethz.ch/debian/milkytracker/milkytracker-0.90.85%2Bdfsg/resources/reference/xm-form.txt - - ftp://ftp.modland.com/pub/documents/format_documentation/Tracker%20differences%20for%20Coders.txt - - http://wiki.openmpt.org/Manual:_Compatible_Playback - - Greets to Guru, Alfred and CCR for their work figuring out the .xm format. :) -*/ - -object XM : BaseModuleTracker.Format("xm") { - override fun createTracker(): BaseModuleTracker = Fasttracker() - override suspend fun fastValidate(data: AsyncStream): Boolean { - val buffer = data.readBytesExact(60).toNBufferUInt8() - val signature = CharArray(17) { buffer[it].toChar() }.concatToString() - if (signature != "Extended Module: ") return false - if (buffer[37] != 0x1a) return false - val trackerversion = le_word(buffer, 58) - if (trackerversion < 0x0104) return false // older versions not currently supported - return true - } -} - -suspend fun VfsFile.readXM(soundProvider: NativeSoundProvider = nativeSoundProvider): Sound = - Fasttracker().createSoundFromFile(this) - -class Fasttracker : BaseModuleTracker() { - var paused = false - var repeat = false - - var filter = false - - var syncqueue = IntDeque() - - var ramplen = 64.0 - - var mixval = 8.0 - - // amiga period value table - val periodtable = floatArrayOf( - //ft -8 -7 -6 -5 -4 -3 -2 -1 - // 0 1 2 3 4 5 6 7 - 907f, 900f, 894f, 887f, 881f, 875f, 868f, 862f, // B-3 - 856f, 850f, 844f, 838f, 832f, 826f, 820f, 814f, // C-4 - 808f, 802f, 796f, 791f, 785f, 779f, 774f, 768f, // C#4 - 762f, 757f, 752f, 746f, 741f, 736f, 730f, 725f, // D-4 - 720f, 715f, 709f, 704f, 699f, 694f, 689f, 684f, // D#4 - 678f, 675f, 670f, 665f, 660f, 655f, 651f, 646f, // E-4 - 640f, 636f, 632f, 628f, 623f, 619f, 614f, 610f, // F-4 - 604f, 601f, 597f, 592f, 588f, 584f, 580f, 575f, // F#4 - 570f, 567f, 563f, 559f, 555f, 551f, 547f, 543f, // G-4 - 538f, 535f, 532f, 528f, 524f, 520f, 516f, 513f, // G#4 - 508f, 505f, 502f, 498f, 494f, 491f, 487f, 484f, // A-4 - 480f, 477f, 474f, 470f, 467f, 463f, 460f, 457f, // A#4 - 453f, 450f, 447f, 445f, 442f, 439f, 436f, 433f, // B-4 - 428f - ) - - val pan = FloatArray(32) { 0.5f } - val finalpan = FloatArray(32) { 0.5f } - - // calc tables for vibrato waveforms - val vibratotable = arrayOf( - FloatArray(64) { 127f * kotlin.math.sin(kotlin.math.PI * 2 * (it.toFloat() / 64f)).toFloat() }, - FloatArray(64) { 127f - 4f * it }, - FloatArray(64) { if (it < 32) 127f else -127f }, - FloatArray(64) { (1 - 2 * Random.nextFloat()) * 127 }, - ) - - // volume column effect jumptable for 0x50..0xef - val voleffects_t0 = arrayOf( - ::effect_vol_t0_f0, ::effect_vol_t0_60, ::effect_vol_t0_70, ::effect_vol_t0_80, ::effect_vol_t0_90, - ::effect_vol_t0_a0, ::effect_vol_t0_b0, ::effect_vol_t0_c0, ::effect_vol_t0_d0, ::effect_vol_t0_e0 - ) - val voleffects_t1 = arrayOf( - ::effect_vol_t1_f0, - ::effect_vol_t1_60, ::effect_vol_t1_70, ::effect_vol_t1_80, ::effect_vol_t1_90, ::effect_vol_t1_a0, - ::effect_vol_t1_b0, ::effect_vol_t1_c0, ::effect_vol_t1_d0, ::effect_vol_t1_e0 - ) - - // effect jumptables for tick 0 and ticks 1..f - val effects_t0 = arrayOf( - ::effect_t0_0, ::effect_t0_1, ::effect_t0_2, ::effect_t0_3, ::effect_t0_4, ::effect_t0_5, ::effect_t0_6, - ::effect_t0_7, ::effect_t0_8, ::effect_t0_9, ::effect_t0_a, ::effect_t0_b, ::effect_t0_c, ::effect_t0_d, - ::effect_t0_e, ::effect_t0_f, ::effect_t0_g, ::effect_t0_h, ::effect_t0_i, ::effect_t0_j, ::effect_t0_k, - ::effect_t0_l, ::effect_t0_m, ::effect_t0_n, ::effect_t0_o, ::effect_t0_p, ::effect_t0_q, ::effect_t0_r, - ::effect_t0_s, ::effect_t0_t, ::effect_t0_u, ::effect_t0_v, ::effect_t0_w, ::effect_t0_x, ::effect_t0_y, - ::effect_t0_z - ) - val effects_t0_e = arrayOf( - ::effect_t0_e0, ::effect_t0_e1, ::effect_t0_e2, ::effect_t0_e3, ::effect_t0_e4, ::effect_t0_e5, - ::effect_t0_e6, ::effect_t0_e7, ::effect_t0_e8, ::effect_t0_e9, ::effect_t0_ea, ::effect_t0_eb, - ::effect_t0_ec, ::effect_t0_ed, ::effect_t0_ee, ::effect_t0_ef - ) - val effects_t1 = arrayOf( - ::effect_t1_0, ::effect_t1_1, ::effect_t1_2, ::effect_t1_3, ::effect_t1_4, ::effect_t1_5, ::effect_t1_6, - ::effect_t1_7, ::effect_t1_8, ::effect_t1_9, ::effect_t1_a, ::effect_t1_b, ::effect_t1_c, ::effect_t1_d, - ::effect_t1_e, ::effect_t1_f, ::effect_t1_g, ::effect_t1_h, ::effect_t1_i, ::effect_t1_j, ::effect_t1_k, - ::effect_t1_l, ::effect_t1_m, ::effect_t1_n, ::effect_t1_o, ::effect_t1_p, ::effect_t1_q, ::effect_t1_r, - ::effect_t1_s, ::effect_t1_t, ::effect_t1_u, ::effect_t1_v, ::effect_t1_w, ::effect_t1_x, ::effect_t1_y, - ::effect_t1_z - ) - val effects_t1_e = arrayOf( - ::effect_t1_e0, ::effect_t1_e1, ::effect_t1_e2, ::effect_t1_e3, ::effect_t1_e4, ::effect_t1_e5, ::effect_t1_e6, - ::effect_t1_e7, ::effect_t1_e8, ::effect_t1_e9, ::effect_t1_ea, ::effect_t1_eb, ::effect_t1_ec, ::effect_t1_ed, - ::effect_t1_ee, ::effect_t1_ef - ) - - init { - clearsong() - initialize() - } - - class Sample( - var bits: Int = 0, - var stereo: Int = 0, - var bps: Int = 0, - var length: Int = 0, - var loopstart: Int = 0, - var looplength: Int = 0, - var loopend: Int = 0, - var looptype: Int = 0, - var volume: Int = 0, - var finetune: Int = 0, - var relativenote: Int = 0, - var panning: Int = 0, - var data: FloatArray = FloatArray(0), - var name: String = "", - ) { - } - - class Instrument( - var name: String = "", - var samples: Int = 0, - var sample: Array = emptyArray(), - var voltype: Int = 0, - var pansustain: Int = 0, - var panloopend: Int = 0, - var panloopstart: Int = 0, - var panenvlen: Int = 0, - var volenv: FloatArray = FloatArray(0), - var padenv: FloatArray = FloatArray(0), - var panenv: FloatArray = FloatArray(0), - var volsustain: Int = 0, - var volloopend: Int = 0, - var volloopstart: Int = 0, - var volenvlen: Int = 0, - var volfadeout: Int = 0, - var pantype: Int = 0, - var samplemap: Uint8Buffer = Uint8Buffer(0), - var vibratotype: Int = 0, - var vibratosweep: Int = 0, - var vibratodepth: Int = 0, - var vibratorate: Int = 0, - ) - - class Channel( - var instrument: Int = 0, - var sampleindex: Int = 0, - - var note: Int = 36, - var command: Int = 0, - var data: Int = 0, - var samplepos: Double = 0.0, - var samplespeed: Double = 0.0, - var flags: Int = 0, - var noteon: Boolean = false, - - var volslide: Int = 0, - var slidespeed: Int = 0, - var slideto: Double = 0.0, - var slideupspeed: Int = 0, - var slidedownspeed: Int = 0, - var slidetospeed: Int = 0, - var arpeggio: Int = 0, - - var period: Double = 640.0, - var frequency: Int = 8363, - - var volume: Int = 64, - var voiceperiod: Double = 0.0, - var voicevolume: Int = 0, - var finalvolume: Double = 0.0, - - var semitone: Int = 12, - var vibratospeed: Int = 0, - var vibratodepth: Int = 0, - var vibratopos: Int = 0, - var vibratowave: Int = 0, - - var volenvpos: Int = 0, - var panenvpos: Int = 0, - var fadeoutpos: Int = 0, - - var playdir: Int = 1, - - // interpolation/ramps - var volramp: Double = 0.0, - var volrampfrom: Double = 0.0, - var trigramp: Double = 0.0, - var trigrampfrom: Double = 0.0, - var currentsample: Double = 0.0, - var lastsample: Double = 0.0, - var oldfinalvolume: Double = 0.0, - ) - - var title: String = "" - var signature: String = "" - var trackerversion: Int = 0 - var songlen: Int = 0 - var repeatpos: Int = 0 - var channels: Int = 0 - var patterns: Int = 0 - var instruments: Int = 0 - var amigaperiods: Int = 0 - var initSpeed: Int = 6 - var initBPM: Int = 125 - var patterntable: Uint8Buffer = Uint8Buffer(256) - var pattern = emptyArray() - var instrument = emptyArray() - var chvu = FloatArray(2) - - // clear song data - fun clearsong() { - title = "" - signature = "" - trackerversion = 0x0104 - - songlen = 1 - repeatpos = 0 - - channels = 0 - patterns = 0 - instruments = 32 - - amigaperiods = 0 - - initSpeed = 6 - initBPM = 125 - - patterntable = Uint8Buffer(256) - - pattern = emptyArray() - instrument = Array(instruments) { Instrument() } - chvu = FloatArray(2) - } - - var tick = -1 - var position = 0 - var row = 0 - var patternlen = IntArray(0) - var flags = 0 - var volume = 64 - var speed = 0 - var bmp = 0 - var stt = 0 - var breakrow = 0 - var patternjump = 0 - var patterndelay = 0 - var patternwait = 0 - var looprow = 0 - var loopstart = 0 - var loopcount = 0 - var globalvolslide = 0 - var bpm = 0 - var channel = emptyArray() - - // initialize all player variables to defaults prior to starting playback - override fun initialize() { - syncqueue = IntDeque() - - tick = -1 - position = 0 - row = 0 - flags = 0 - - volume = 64 - if (initSpeed != 0) speed = initSpeed - if (initBPM != 0) bpm = initBPM - stt = 0 //this.samplerate/(this.bpm*0.4); - breakrow = 0 - patternjump = 0 - patterndelay = 0 - patternwait = 0 - endofsong = false - looprow = 0 - loopstart = 0 - loopcount = 0 - - globalvolslide = 0 - - channel = Array(channels) { Channel() } - } - - // parse the module from local buffer - override fun parse(buffer: Uint8Buffer): Boolean { - var j: Int - var c: Int - var offset: Int - var datalen: Int - var hdrlen: Int - - // check xm signature, type and tracker version - signature = CharArray(17) { buffer[it].toChar() }.concatToString() - if (signature != "Extended Module: ") return false - if (buffer[37] != 0x1a) return false - signature = "X.M." - trackerversion = le_word(buffer, 58) - if (trackerversion < 0x0104) return false // older versions not currently supported - - // song title - title += CharArray(20) { dos2utf(buffer[17 + it]) }.concatToString().trimEnd('\u0000') - - offset = 60 - hdrlen = le_dword(buffer, offset) - songlen = le_word(buffer, offset + 4) - repeatpos = le_word(buffer, offset + 6) - channels = le_word(buffer, offset + 8) - - patterns = le_word(buffer, offset + 10) - instruments = le_word(buffer, offset + 12) - - amigaperiods = (le_word(buffer, offset + 14) == 0).toInt() - - initSpeed = le_word(buffer, offset + 16) - initBPM = le_word(buffer, offset + 18) - - var maxpatt = 0 - for (i in 0 until 256) { - patterntable[i] = buffer[offset + 20 + i] - if (patterntable[i] > maxpatt) maxpatt = patterntable[i] - } - maxpatt++ - - // allocate arrays for pattern data - pattern = Array(maxpatt) { Uint8Buffer(0) } - patternlen = IntArray(maxpatt) - - for (i in 0 until maxpatt) { - // initialize the pattern to defaults prior to unpacking - patternlen[i] = 64 - pattern[i] = Uint8Buffer(channels * patternlen[i] * 5) - for (row in 0 until patternlen[i]) { - for (ch in 0 until channels) { - val pattern = pattern[i] - val index = row * channels * 5 + ch * 5 - pattern[index + 0] = 255 // note (255=no note) - pattern[index + 1] = 0 // instrument - pattern[index + 2] = 255 // volume - pattern[index + 3] = 255 // command - pattern[index + 4] = 0 // parameter - } - } - } - - // load and unpack patterns - offset += hdrlen // initial offset for patterns - var i = 0 - while (i < patterns) { - patternlen[i] = le_word(buffer, offset + 5) - pattern[i] = Uint8Buffer(channels * patternlen[i] * 5) - - // initialize pattern to defaults prior to unpacking - val pattern = pattern[i] - for (k in 0 until (patternlen[i] * channels)) { - pattern[k * 5 + 0] = 0 // note - pattern[k * 5 + 1] = 0 // instrument - pattern[k * 5 + 2] = 0 // volume - pattern[k * 5 + 3] = 0 // command - pattern[k * 5 + 4] = 0 // parameter - } - - datalen = le_word(buffer, offset + 7) - offset += le_dword(buffer, offset) // jump over header - j = 0 - var k = 0 - while (j < datalen) { - c = buffer[offset + j++] - if ((c and 128) != 0) { - // first byte is a bitmask - if ((c and 1) != 0) pattern[k + 0] = buffer[offset + j++] - if ((c and 2) != 0) pattern[k + 1] = buffer[offset + j++] - if ((c and 4) != 0) pattern[k + 2] = buffer[offset + j++] - if ((c and 8) != 0) pattern[k + 3] = buffer[offset + j++] - if ((c and 16) != 0) pattern[k + 4] = buffer[offset + j++] - } else { - // first byte is note -> all columns present sequentially - pattern[k + 0] = c - pattern[k + 1] = buffer[offset + j++] - pattern[k + 2] = buffer[offset + j++] - pattern[k + 3] = buffer[offset + j++] - pattern[k + 4] = buffer[offset + j++] - } - k += 5 - } - - for (k in 0 until (patternlen[i] * channels * 5) step 5) { - // remap note to st3-style, 255=no note, 254=note off - when { - pattern[k + 0] >= 97 -> pattern[k + 0] = 254 - pattern[k + 0] == 0 -> pattern[k + 0] = 255 - else -> pattern[k + 0]-- - } - - // command 255=no command - if (pattern[k + 3] == 0 && pattern[k + 4] == 0) pattern[k + 3] = 255 - - // remap volume column setvol to 0x00..0x40, tone porta to 0x50..0x5f and 0xff for nop - when { - pattern[k + 2] < 0x10 -> pattern[k + 2] = 0xff - pattern[k + 2] in 0x10..0x50 -> pattern[k + 2] -= 0x10 - pattern[k + 2] >= 0xf0 -> pattern[k + 2] -= 0xa0 - } - } - - // unpack next pattern - offset += j - i++ - } - patterns = maxpatt - - // instruments - instrument = Array(instruments) { Instrument() } - i = 0 - while (i < instruments) { - hdrlen = le_dword(buffer, offset) - val instrument = Instrument().also { instrument[i] = it } - instrument.name = CharArray(22) { dos2utf(buffer[offset + 4 + it]) }.concatToString().trimEnd('\u0000') - instrument.samples = le_word(buffer, offset + 27) - - // initialize to defaults - instrument.samplemap = Uint8Buffer(96) - for (j in 0 until 96) instrument.samplemap[j] = 0 - instrument.volenv = FloatArray (325) - instrument.panenv = FloatArray (325) - instrument.voltype = 0 - instrument.pantype = 0 - instrument.sample = Array(instrument.samples + 1) { - Sample( - bits = 8, stereo = 0, bps = 1, - length = 0, loopstart = 0, looplength = 0, loopend = 0, looptype = 0, - volume = 64, finetune = 0, relativenote = 0, panning = 128, name = "", - data = FloatArray(0) - ) - } - - if (instrument.samples != 0) { - val smphdrlen = le_dword(buffer, offset + 29) - - for (j in 0 until 96) instrument.samplemap[j] = buffer[offset + 33 + j] - - // envelope points. the xm specs say 48 bytes per envelope, but while that may - // technically be correct, what they don't say is that it means 12 pairs of - // little endian words. first word is the x coordinate, second is y. point - // 0 always has x=0. - val tmp_volenv = Array(12) { IntArray(0) } - val tmp_panenv = Array(12) { IntArray(0) } - for (j in 0 until 12) { - tmp_volenv[j] = intArrayOf( - le_word(buffer, offset + 129 + j * 4), - le_word(buffer, offset + 129 + j * 4 + 2) - ) - tmp_panenv[j] = intArrayOf( - le_word(buffer, offset + 177 + j * 4), - le_word(buffer, offset + 177 + j * 4 + 2) - ) - } - - // are envelopes enabled? - instrument.voltype = buffer[offset + 233] // 1=enabled, 2=sustain, 4=loop - instrument.pantype = buffer[offset + 234] - - // pre-interpolate the envelopes to arrays of [0..1] float32 values which - // are stepped through at a rate of one per tick. max tick count is 0x0144. - - // volume envelope - for (j in 0 until 325) instrument.volenv[j] = 1f - if ((instrument.voltype and 1) != 0) { - for (j in 0 until 325) { - var p = 1 - val tmp_volenvP = tmp_volenv[p] - while (tmp_volenvP[0] < j && p < 11) p++ - val delta: Double = when { - tmp_volenvP[0] == tmp_volenv[p - 1][0] -> 0.0 - else -> (tmp_volenvP[1] - tmp_volenv[p - 1][1]).toDouble() / (tmp_volenvP[0] - tmp_volenv[p - 1][0]).toDouble() - } - instrument.volenv[j] = ((tmp_volenv[p - 1][1] + delta * (j - tmp_volenv[p - 1][0])) / 64.0).toFloat() - } - instrument.volenvlen = tmp_volenv[kotlin.math.max(0, buffer[offset + 225] - 1)][0] - instrument.volsustain = tmp_volenv[buffer[offset + 227]][0] - instrument.volloopstart = tmp_volenv[buffer[offset + 228]][0] - instrument.volloopend = tmp_volenv[buffer[offset + 229]][0] - } - - // pan envelope - for (j in 0 until 325) instrument.panenv[j] = 0.5.toFloat() - if ((instrument.pantype and 1) != 0) { - for (j in 0 until 325) { - var p = 1 - while (tmp_panenv[p][0] < j && p < 11) p++ - val delta: Double = when { - tmp_panenv[p][0] == tmp_panenv[p - 1][0] -> 0.0 - else -> (tmp_panenv[p][1] - tmp_panenv[p - 1][1]).toDouble() / (tmp_panenv[p][0] - tmp_panenv[p - 1][0]).toDouble() - } - instrument.panenv[j] = ((tmp_panenv[p - 1][1] + delta * (j - tmp_panenv[p - 1][0])) / 64.0).toFloat() - } - instrument.panenvlen = tmp_panenv[kotlin.math.max(0, buffer[offset + 226] - 1)][0] - instrument.pansustain = tmp_panenv[buffer[offset + 230]][0] - instrument.panloopstart = tmp_panenv[buffer[offset + 231]][0] - instrument.panloopend = tmp_panenv[buffer[offset + 232]][0] - } - - // vibrato - instrument.vibratotype = buffer[offset + 235] - instrument.vibratosweep = buffer[offset + 236] - instrument.vibratodepth = buffer[offset + 237] - instrument.vibratorate = buffer[offset + 238] - - // volume fade out - instrument.volfadeout = le_word(buffer, offset + 239) - - // sample headers - offset += hdrlen - instrument.sample = Array (instrument.samples) { Sample() } - for (j in 0 until instrument.samples) { - datalen = le_dword(buffer, offset + 0) - - val sample = instrument.sample[j] - sample.bits = if ((buffer[offset + 14] and 16) != 0) 16 else 8 - sample.stereo = 0 - sample.bps = if (sample.bits == 16) 2 else 1 // bytes per sample - - // sample length and loop points are in BYTES even for 16-bit samples! - sample.length = datalen / sample.bps - sample.loopstart = le_dword(buffer, offset + 4) / sample.bps - sample.looplength = le_dword(buffer, offset + 8) / sample.bps - sample.loopend = sample.loopstart + sample.looplength - sample.looptype = buffer[offset + 14] and 0x03 - - sample.volume = buffer[offset + 12] - - // finetune and seminote tuning - sample.finetune = (if (buffer[offset + 13] < 128) buffer[offset + 13] else buffer[offset + 13] - 256) - sample.relativenote = (if (buffer[offset + 16] < 128) buffer[offset + 16] else buffer[offset + 16] - 256) - - sample.panning = buffer[offset + 15] - sample.name = CharArray(22) { dos2utf(buffer[offset + 18 + it]) }.concatToString().trimEnd('\u0000') - offset += smphdrlen - } - - // sample data (convert to signed float32) - for (j in 0 until instrument.samples) { - val sample = instrument.sample[j] - sample.data = FloatArray(sample.length) - c = 0 - if (sample.bits == 16) { - for (k in 0 until sample.length) { - c += s_le_word(buffer, offset + k * 2) - if (c < -32768) c += 65536 - if (c > 32767) c -= 65536 - sample.data[k] = (c / 32768.0).toFloat() - } - } else { - for (k in 0 until sample.length) { - c += s_byte(buffer, offset + k) - if (c < -128) c += 256 - if (c > 127) c -= 256 - sample.data[k] = (c / 128.0).toFloat() - } - } - offset += sample.length * sample.bps - } - } else { - offset += hdrlen - } - i++ - } - - mixval = 4.0 - 2.0 * (channels / 32.0) - - chvu = FloatArray(channels) { 0.0.toFloat() } - - val computeTime = measureTime { - totalLengthInSamples = computeTime().toLong() - } - println("COMPUTED LENGTH IN: $computeTime, totalLengthInSamples=$totalLengthInSamples") - - return true - } - - // 5:27 - fun computeTime(): Int { - var samples = 0 - //playing = false - var position = 0 - var row = 0 - val songlen = this.songlen - val channels = this.channels - var bpm = this.bpm - var speed = this.speed - val samplerate = samplerate - initialize() - while (position < songlen) { - // calculate playback position - val p = patterntable[position] - val pat = pattern[p] - for (ch in 0 until channels) { - val pp = row * 5 * channels + ch * 5 - // save old volume if ramping is needed - val command = pat[pp + 3] - val data = pat[pp + 4] - - if (command == 0x0f) { - when { - data > 32 -> bpm = data - data != 0 -> speed = data - } - } - } - val stt = kotlin.math.floor((125.0 / bpm.toDouble()) * (1 / 50.0) * samplerate).toInt() // 50Hz - samples += stt * speed - //println("tick=$tick, speed=$speed, bpm=$bpm, stt=$stt, row=$row, position=$position, songlen=$songlen, samples=$samples") - - row++ - if (row >= patternlen[p]) { - row = 0 - position++ - } - } - initialize() - return samples - } - - - fun pow(a: Double, b: Double): Double = a.pow(b) - fun pow(a: Int, b: Int): Int = a.toDouble().pow(b.toDouble()).toInt() // @TODO: 2.pow(y) --> bit shifting (1 << y) - - // calculate period value for note - fun calcperiod(note: Int, finetune: Int): Double { - return if (amigaperiods != 0) { - var ft = finetune / 16.0 // = -8 .. 7 - val p1 = periodtable[(8 + (note % 12) * 8 + ft).toInt()] - val p2 = periodtable[(8 + (note % 12) * 8 + ft + 1).toInt()] - ft = (finetune / 16.0) - ft - ((1.0 - ft) * p1 + ft * p2) * (16.0 / pow(2.0, (note / 12.0) - 1)) - } else { - 7680.0 - note * 64.0 - finetune / 2.0 - } - } - - - // advance player by a tick - fun advance() { - stt = kotlin.math.floor((125.0 / bpm.toDouble()) * (1 / 50.0) * samplerate).toInt() // 50Hz - - // advance player - tick++ - flags = flags or 1 - - // new row on this tick? - if (tick >= speed) { - if (patterndelay != 0) { // delay pattern - if (tick < ((patternwait + 1) * speed)) { - patternwait++ - } else { - row++; tick = 0; flags = flags or 2; patterndelay = 0 - } - } else { - if ((flags and (16 + 32 + 64)) != 0) { - if ((flags and 64) != 0) { // loop pattern? - row = looprow - flags = flags and 0xa1 - flags = flags or 2 - } else { - if ((flags and 16) != 0) { // pattern jump/break? - position = patternjump - row = breakrow - patternjump = 0 - breakrow = 0 - flags = flags and 0xe1 - flags = flags or 2 - } - } - tick = 0 - } else { - row++; tick = 0; flags = flags or 2 - } - } - } - - // step to new pattern? - if (row >= patternlen[patterntable[position]]) { - position++ - row = 0 - flags = flags or 4 - } - - // end of song? - if (position >= songlen) { - if (repeat) { - position = 0 - } else { - endofsong = true - } - return - } - } - - // process one channel on a row in pattern p, pp is an offset to pattern data - fun process_note(p: Int, ch: Int) { - var i: Int - var s: Double - val v: Int - val pv: Double - - val pp: Int = row * 5 * channels + ch * 5 - val n: Int = pattern[p][pp] - i = pattern[p][pp + 1] - val channel = channel[ch] - if (i != 0 && i <= instrument.size) { - channel.instrument = i - 1 - - if (instrument[i - 1].samples != 0) { - s = instrument[i - 1].samplemap[channel.note].toDouble() - channel.sampleindex = s.toInt() - channel.volume = instrument[i - 1].sample[s.toInt()].volume - channel.playdir = 1 // fixes crash in respirator.xm pos 0x12 - - // set pan from sample - pan[ch] = instrument[i - 1].sample[s.toInt()].panning / 255f - } - channel.voicevolume = channel.volume - } - i = channel.instrument - - if (n < 254) { - // look up the sample - s = instrument[i].samplemap[n].toDouble() - channel.sampleindex = s.toInt() - - val rn = n + instrument[i].sample[s.toInt()].relativenote - - // calc period for note - pv = calcperiod(rn, instrument[i].sample[s.toInt()].finetune) - - if (channel.noteon) { - // retrig note, except if command=0x03 (porta to note) or 0x05 (porta+volslide) - if ((channel.command != 0x03) && (channel.command != 0x05)) { - channel.note = n - channel.period = pv - channel.voiceperiod = channel.period - channel.flags = channel.flags or 3 // force sample speed recalc - - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - - channel.samplepos = 0.0 - channel.playdir = 1 - if (channel.vibratowave > 3) channel.vibratopos = 0 - - channel.noteon = true - - channel.fadeoutpos = 65535 - channel.volenvpos = 0 - channel.panenvpos = 0 - } - } else { - // note is off, restart but don't set period if slide command - if (pattern[p][pp + 1] != 0) { // instrument set on row? - channel.samplepos = 0.0 - channel.playdir = 1 - if (channel.vibratowave > 3) channel.vibratopos = 0 - channel.noteon = true - channel.fadeoutpos = 65535 - channel.volenvpos = 0 - channel.panenvpos = 0 - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - } - if ((channel.command != 0x03) && (channel.command != 0x05)) { - channel.note = n - channel.period = pv - channel.voiceperiod = channel.period - channel.flags = channel.flags or 3 // force sample speed recalc - } - } - // in either case, set the slide to note target to note period - channel.slideto = pv - } else if (n == 254) { - channel.noteon = false // note off - if ((instrument[i].voltype and 1) == 0) channel.voicevolume = 0 - } - - if (pattern[p][pp + 2] != 255) { - v = pattern[p][pp + 2] - if (v <= 0x40) { - channel.volume = v - channel.voicevolume = channel.volume - } - } - } - - - // advance player and all channels by a tick - fun process_tick() { - // advance global player state by a tick - advance() - - // advance all channels by a tick - for (ch in 0 until channels) { - - // calculate playback position - val p = patterntable[position] - val pp = row * 5 * channels + ch * 5 - - // save old volume if ramping is needed - val channel = channel[ch] - channel.oldfinalvolume = channel.finalvolume - - if ((flags and 2) != 0) { // new row on this tick? - channel.command = pattern[p][pp + 3] - channel.data = pattern[p][pp + 4] - if (!(channel.command == 0x0e && (channel.data and 0xf0) == 0xd0)) { // note delay? - process_note(p, ch) - } - } - val i = channel.instrument - val si = channel.sampleindex - - // kill empty instruments - val instrument = instrument[i] - if (channel.noteon && instrument.samples == 0) { - channel.noteon = false - } - - // effects - val v = pattern[p][pp + 2] - if (v in 0x50..0xef) { - if (tick == 0) voleffects_t0[(v shr 4) - 5](ch, v and 0x0f) - else voleffects_t1[(v shr 4) - 5](ch, v and 0x0f) - } - if (channel.command < 36) { - if (tick == 0) { - // process only on tick 0 - effects_t0[channel.command](ch) - } else { - effects_t1[channel.command](ch) - } - } - - // recalc sample speed if voiceperiod has changed - if (((channel.flags and 1) != 0 || (flags and 2) != 0) && channel.voiceperiod != 0.0) { - val f: Double = when { - amigaperiods != 0 -> 8287.137 * 1712.0 / channel.voiceperiod - else -> 8287.137 * pow(2.0, (4608.0 - channel.voiceperiod) / 768.0) - } - channel.samplespeed = f / samplerate.toDouble() - } - - // advance vibrato on each new tick - channel.vibratopos += channel.vibratospeed - channel.vibratopos = channel.vibratopos and 0x3f - - // advance volume envelope, if enabled (also fadeout) - if ((instrument.voltype and 1) != 0) { - channel.volenvpos++ - - if (channel.noteon && ((instrument.voltype and 2) != 0) && channel.volenvpos >= instrument.volsustain) { - channel.volenvpos = instrument.volsustain - } - - if (((instrument.voltype and 4) != 0) && channel.volenvpos >= instrument.volloopend) { - channel.volenvpos = instrument.volloopstart - } - - if (channel.volenvpos >= instrument.volenvlen) { - channel.volenvpos = instrument.volenvlen - } - - if (channel.volenvpos > 324) channel.volenvpos = 324 - - // fadeout if note is off - if (!channel.noteon && channel.fadeoutpos != 0) { - channel.fadeoutpos -= instrument.volfadeout - if (channel.fadeoutpos < 0) channel.fadeoutpos = 0 - } - } - - // advance pan envelope, if enabled - if ((instrument.pantype and 1) != 0) { - channel.panenvpos++ - - if (channel.noteon && ((instrument.pantype and 2) != 0) && channel.panenvpos >= instrument.pansustain) { - channel.panenvpos = instrument.pansustain - } - - if (((instrument.pantype and 4) != 0) && channel.panenvpos >= instrument.panloopend) { - channel.panenvpos = instrument.panloopstart - } - - if (channel.panenvpos >= instrument.panenvlen) channel.panenvpos = instrument.panenvlen - if (channel.panenvpos > 324) channel.panenvpos = 324 - } - - // calc final volume for channel - channel.finalvolume = channel.voicevolume * instrument.volenv[channel.volenvpos] * channel.fadeoutpos / 65536.0 - - // calc final panning for channel - finalpan[ch] = (pan[ch] + (instrument.panenv[channel.panenvpos] - 0.5) * (0.5 * kotlin.math.abs(pan[ch] - 0.5)) * 2.0).toFloat() - - // setup volramp if voice volume changed - if (channel.oldfinalvolume != channel.finalvolume) { - channel.volrampfrom = channel.oldfinalvolume - channel.volramp = 0.0 - } - - // clear channel flags - channel.flags = 0 - } - - // clear global flags after all channels are processed - flags = flags and 0x70 - } - - - // mix a buffer of audio for an audio processing event - override fun mix(bufs: Array, buflen: Int) { - val outp = FloatArray(2) - - // return a buffer of silence if not playing - if (paused || endofsong || !playing) { - for (s in 0 until buflen) { - bufs[0][s] = 0f - bufs[1][s] = 0f - for (ch in 0 until chvu.size) chvu[ch] = 0f - } - return - } - - // fill audiobuffer - for (s in 0 until buflen) { - outp[0] = 0f - outp[1] = 0f - - // if STT has run out, step player forward by tick - if (stt <= 0) process_tick() - - // mix channels - for (ch in 0 until channels) { - var fl = 0.0 - var fr = 0.0 - var fs = 0.0 - val channel = channel[ch] - val i = channel.instrument - val si = channel.sampleindex - - // add channel output to left/right master outputs - val instrument = instrument[i] - if (channel.noteon || - (((instrument.voltype and 1) != 0) && !channel.noteon && channel.fadeoutpos != 0) || - (!channel.noteon && channel.volramp < 1.0) - ) { - val sample = instrument.sample[si] - if (sample.length > channel.samplepos) { - fl = channel.lastsample - - // interpolate towards current sample - var f = channel.samplepos - fs = sample.data[f.toInt()].toDouble() - f = channel.samplepos - f - f = if (channel.playdir < 0) (1.0 - f) else f - fl = f * fs + (1.0 - f) * fl - - // smooth out discontinuities from retrig and sample offset - f = channel.trigramp - fl = f * fl + (1.0 - f) * channel.trigrampfrom - f += 1.0 / 128.0 - channel.trigramp = kotlin.math.min(1.0, f) - channel.currentsample = fl - - // ramp volume changes over 64 samples to avoid clicks - fr = fl * (channel.finalvolume / 64.0) - f = channel.volramp - fl = f * fr + (1.0 - f) * (fl * (channel.volrampfrom / 64.0)) - f += (1.0 / 64.0) - channel.volramp = kotlin.math.min(1.0, f) - - // pan samples, if envelope is disabled panvenv is always 0.5 - f = finalpan[ch].toDouble() - fr = fl * f - fl *= 1.0 - f - } - outp[0] += fl.toFloat() - outp[1] += fr.toFloat() - - // advance sample position and check for loop or end - val oldpos = channel.samplepos - channel.samplepos += channel.playdir * channel.samplespeed - if (channel.playdir == 1) { - if (kotlin.math.floor(channel.samplepos) > kotlin.math.floor(oldpos)) channel.lastsample = fs - } else { - if (kotlin.math.floor(channel.samplepos) < kotlin.math.floor(oldpos)) channel.lastsample = fs - } - - if (sample.looptype != 0) { - if (sample.looptype == 2) { - // pingpong loop - if (channel.playdir == -1) { - // bounce off from start? - if (channel.samplepos <= sample.loopstart) { - channel.samplepos += (sample.loopstart - channel.samplepos) - channel.playdir = 1 - channel.lastsample = channel.currentsample - } - } else { - // bounce off from end? - if (channel.samplepos >= sample.loopend) { - channel.samplepos -= (channel.samplepos - sample.loopend) - channel.playdir = -1 - channel.lastsample = channel.currentsample - } - } - } else { - // normal loop - if (channel.samplepos >= sample.loopend) { - channel.samplepos -= sample.looplength - channel.lastsample = channel.currentsample - } - } - } else { - if (channel.samplepos >= sample.length) { - channel.noteon = false - } - } - } else { - channel.currentsample = 0.0 // note is completely off - } - chvu[ch] = kotlin.math.max(chvu[ch], kotlin.math.abs(fl + fr).toFloat()) - } - - // done - store to output buffer - val t = volume / 64.0 - bufs[0][s] = (outp[0] * t).toFloat() - bufs[1][s] = (outp[1] * t).toFloat() - stt-- - } - } - - - // -// volume column effect functions -// - fun effect_vol_t0_60(ch: Int, data: Int) { // 60-6f vol slide down - } - - fun effect_vol_t0_70(ch: Int, data: Int) { // 70-7f vol slide up - } - - fun effect_vol_t0_80(ch: Int, data: Int) { // 80-8f fine vol slide down - val channel = channel[ch] - channel.voicevolume -= data - if (channel.voicevolume < 0) channel.voicevolume = 0 - } - - fun effect_vol_t0_90(ch: Int, data: Int) { // 90-9f fine vol slide up - val channel = channel[ch] - channel.voicevolume += data - if (channel.voicevolume > 64) channel.voicevolume = 64 - } - - fun effect_vol_t0_a0(ch: Int, data: Int) { // a0-af set vibrato speed - val channel = channel[ch] - channel.vibratospeed = data - } - - fun effect_vol_t0_b0(ch: Int, data: Int) { // b0-bf vibrato - if (data != 0) { - val channel = channel[ch] - channel.vibratodepth = data - } - effect_t1_4(ch) - } - - fun effect_vol_t0_c0(ch: Int, data: Int) { // c0-cf set panning - pan[ch] = (data and 0x0f) / 15f - } - - fun effect_vol_t0_d0(ch: Int, data: Int) { // d0-df panning slide left - } - - fun effect_vol_t0_e0(ch: Int, data: Int) { // e0-ef panning slide right - } - - fun effect_vol_t0_f0(ch: Int, data: Int) { // f0-ff tone porta -// if (data) mod.channel[ch].slidetospeed=data; -// if (!mod.amigaperiods) mod.channel[ch].slidetospeed*=4; - } - - ////// - fun effect_vol_t1_60(ch: Int, data: Int) { // 60-6f vol slide down - val channel = channel[ch] - channel.voicevolume -= data - if (channel.voicevolume < 0) channel.voicevolume = 0 - } - - fun effect_vol_t1_70(ch: Int, data: Int) { // 70-7f vol slide up - val channel = channel[ch] - channel.voicevolume += data - if (channel.voicevolume > 64) channel.voicevolume = 64 - } - - fun effect_vol_t1_80(ch: Int, data: Int) { // 80-8f fine vol slide down - } - - fun effect_vol_t1_90(ch: Int, data: Int) { // 90-9f fine vol slide up - } - - fun effect_vol_t1_a0(ch: Int, data: Int) { // a0-af set vibrato speed - } - - fun effect_vol_t1_b0(ch: Int, data: Int) { // b0-bf vibrato - effect_t1_4(ch) // same as effect column vibrato on ticks 1+ - } - - fun effect_vol_t1_c0(ch: Int, data: Int) { // c0-cf set panning - } - - fun effect_vol_t1_d0(ch: Int, data: Int) { // d0-df panning slide left - } - - fun effect_vol_t1_e0(ch: Int, data: Int) { // e0-ef panning slide right - } - - fun effect_vol_t1_f0(ch: Int, data: Int) { // f0-ff tone porta -// mod.effect_t1_3(mod, ch); - } - - - // -// tick 0 effect functions -// - fun effect_t0_0(ch: Int) { // 0 arpeggio - val channel = channel[ch] - channel.arpeggio = channel.data - } - - fun effect_t0_1(ch: Int) { // 1 slide up - val channel = channel[ch] - if (channel.data != 0) channel.slideupspeed = channel.data * 4 - } - - fun effect_t0_2(ch: Int) { // 2 slide down - val channel = channel[ch] - if (channel.data != 0) channel.slidedownspeed = channel.data * 4 - } - - fun effect_t0_3(ch: Int) { // 3 slide to note - val channel = channel[ch] - if (channel.data != 0) channel.slidetospeed = channel.data * 4 - } - - fun effect_t0_4(ch: Int) { // 4 vibrato - val channel = channel[ch] - if ((channel.data and 0x0f) != 0 && (channel.data and 0xf0) != 0) { - channel.vibratodepth = (channel.data and 0x0f) - channel.vibratospeed = (channel.data and 0xf0) ushr 4 - } - effect_t1_4(ch) - } - - fun effect_t0_5(ch: Int) { // 5 - effect_t0_a(ch) - } - - fun effect_t0_6(ch: Int) { // 6 - effect_t0_a(ch) - } - - fun effect_t0_7(ch: Int) { // 7 - } - - fun effect_t0_8(ch: Int) { // 8 set panning - val channel = channel[ch] - pan[ch] = channel.data / 255f - } - - fun effect_t0_9(ch: Int) { // 9 set sample offset - val channel = channel[ch] - channel.samplepos = channel.data * 256.0 - channel.playdir = 1 - - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - } - - fun effect_t0_a(ch: Int) { // a volume slide - // this behavior differs from protracker!! A00 will slide using previous non-zero parameter. - val channel = channel[ch] - if (channel.data != 0) channel.volslide = channel.data - } - - fun effect_t0_b(ch: Int) { // b pattern jump - breakrow = 0 - patternjump = channel[ch].data - flags = flags or 16 - } - - fun effect_t0_c(ch: Int) { // c set volume - val channel = channel[ch] - channel.voicevolume = channel.data - if (channel.voicevolume < 0) channel.voicevolume = 0 - if (channel.voicevolume > 64) channel.voicevolume = 64 - } - - fun effect_t0_d(ch: Int) { // d pattern break - val channel = channel[ch] - breakrow = ((channel.data and 0xf0) shr 4) * 10 + (channel.data and 0x0f) - if ((flags and 16) == 0) patternjump = position + 1 - flags = flags or 16 - } - - fun effect_t0_e(ch: Int) { // e - val channel = channel[ch] - val i = (channel.data and 0xf0) shr 4 - effects_t0_e[i](ch) - } - - fun effect_t0_f(ch: Int) { // f set speed - val channel = channel[ch] - if (channel.data > 32) { - bpm = channel.data - } else { - if (channel.data != 0) speed = channel.data - } - } - - fun effect_t0_g(ch: Int) { // g set global volume - val channel = channel[ch] - if (channel.data <= 0x40) volume = channel.data - } - - fun effect_t0_h(ch: Int) { // h global volume slide - val channel = channel[ch] - if (channel.data != 0) globalvolslide = channel.data - } - - fun effect_t0_i(ch: Int) { // i - } - - fun effect_t0_j(ch: Int) { // j - } - - fun effect_t0_k(ch: Int) { // k key off - val channel = channel[ch] - channel.noteon = false - if ((instrument[channel.instrument].voltype and 1) == 0) channel.voicevolume = 0 - } - - fun effect_t0_l(ch: Int) { // l set envelope position - val channel = channel[ch] - channel.volenvpos = channel.data - channel.panenvpos = channel.data - } - - fun effect_t0_m(ch: Int) { // m - } - - fun effect_t0_n(ch: Int) { // n - } - - fun effect_t0_o(ch: Int) { // o - } - - fun effect_t0_p(ch: Int) { // p panning slide - } - - fun effect_t0_q(ch: Int) { // q - } - - fun effect_t0_r(ch: Int) { // r multi retrig note - } - - fun effect_t0_s(ch: Int) { // s - } - - fun effect_t0_t(ch: Int) { // t tremor - } - - fun effect_t0_u(ch: Int) { // u - } - - fun effect_t0_v(ch: Int) { // v - } - - fun effect_t0_w(ch: Int) { // w - } - - fun effect_t0_x(ch: Int) { // x extra fine porta up/down - } - - fun effect_t0_y(ch: Int) { // y - } - - fun effect_t0_z(ch: Int) { // z - } - - - // -// tick 0 effect e functions -// - fun effect_t0_e0(ch: Int) { // e0 filter on/off - } - - fun effect_t0_e1(ch: Int) { // e1 fine slide up - val channel = channel[ch] - channel.period -= channel.data and 0x0f - if (channel.period < 113) channel.period = 113.toDouble() - } - - fun effect_t0_e2(ch: Int) { // e2 fine slide down - val channel = channel[ch] - channel.period += channel.data and 0x0f - if (channel.period > 856) channel.period = 856.toDouble() - channel.flags = channel.flags or 1 - } - - fun effect_t0_e3(ch: Int) { // e3 set glissando - } - - fun effect_t0_e4(ch: Int) { // e4 set vibrato waveform - val channel = channel[ch] - channel.vibratowave = channel.data and 0x07 - } - - fun effect_t0_e5(ch: Int) { // e5 set finetune - } - - fun effect_t0_e6(ch: Int) { // e6 loop pattern - val channel = channel[ch] - if ((channel.data and 0x0f) != 0) { - when { - loopcount != 0 -> loopcount-- - else -> loopcount = channel.data and 0x0f - } - if (loopcount != 0) flags = flags or 64 - } else { - looprow = row - } - } - - fun effect_t0_e7(ch: Int) { // e7 - } - - fun effect_t0_e8(ch: Int) { // e8, use for syncing - val channel = channel[ch] - syncqueue.addFirst(channel.data and 0x0f) - } - - fun effect_t0_e9(ch: Int) { // e9 - } - - fun effect_t0_ea(ch: Int) { // ea fine volslide up - val channel = channel[ch] - channel.voicevolume += channel.data and 0x0f - if (channel.voicevolume > 64) channel.voicevolume = 64 - } - - fun effect_t0_eb(ch: Int) { // eb fine volslide down - val channel = channel[ch] - channel.voicevolume -= channel.data and 0x0f - if (channel.voicevolume < 0) channel.voicevolume = 0 - } - - fun effect_t0_ec(ch: Int) { // ec - } - - fun effect_t0_ed(ch: Int) { // ed delay sample - val channel = channel[ch] - if (tick == (channel.data and 0x0f)) { - process_note(patterntable[position], ch) - } - } - - fun effect_t0_ee(ch: Int) { // ee delay pattern - val channel = channel[ch] - patterndelay = channel.data and 0x0f - patternwait = 0 - } - - fun effect_t0_ef(ch: Int) { // ef - } - - - // -// tick 1+ effect functions -// - fun effect_t1_0(ch: Int) { // 0 arpeggio - val channel = channel[ch] - if (channel.data != 0) { - val i = channel.instrument - var apn = channel.note - if ((tick % 3) == 1) apn += channel.arpeggio ushr 4 - if ((tick % 3) == 2) apn += channel.arpeggio and 0x0f - - val s = channel.sampleindex - val instrument = instrument[i] - val sample = instrument.sample[s] - channel.voiceperiod = calcperiod(apn + sample.relativenote, sample.finetune) - channel.flags = channel.flags or 1 - } - } - - fun effect_t1_1(ch: Int) { // 1 slide up - val channel = channel[ch] - channel.voiceperiod -= channel.slideupspeed - if (channel.voiceperiod < 1) channel.voiceperiod += 65535 // yeah, this is how it supposedly works in ft2... - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_2(ch: Int) { // 2 slide down - val channel = channel[ch] - channel.voiceperiod += channel.slidedownspeed - if (channel.voiceperiod > 7680) channel.voiceperiod = 7680.toDouble() - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_3(ch: Int) { // 3 slide to note - val channel = channel[ch] - if (channel.voiceperiod < channel.slideto) { - channel.voiceperiod += channel.slidetospeed - if (channel.voiceperiod > channel.slideto) - channel.voiceperiod = channel.slideto - } - if (channel.voiceperiod > channel.slideto) { - channel.voiceperiod -= channel.slidetospeed - if (channel.voiceperiod < channel.slideto) - channel.voiceperiod = channel.slideto - } - channel.flags = channel.flags or 3 // recalc speed - } - - fun effect_t1_4(ch: Int) { // 4 vibrato - val channel = channel[ch] - val waveform = vibratotable[channel.vibratowave and 3][channel.vibratopos] / 63.0 - val a = channel.vibratodepth * waveform - channel.voiceperiod += a - channel.flags = channel.flags or 1 - } - - fun effect_t1_5(ch: Int) { // 5 volslide + slide to note - effect_t1_3(ch) // slide to note - effect_t1_a(ch) // volslide - } - - fun effect_t1_6(ch: Int) { // 6 volslide + vibrato - effect_t1_4(ch) // vibrato - effect_t1_a(ch) // volslide - } - - fun effect_t1_7(ch: Int) { // 7 - } - - fun effect_t1_8(ch: Int) { // 8 unused - } - - fun effect_t1_9(ch: Int) { // 9 set sample offset - } - - fun effect_t1_a(ch: Int) { // a volume slide - val channel = channel[ch] - if ((channel.volslide and 0x0f) == 0) { - // y is zero, slide up - channel.voicevolume += (channel.volslide ushr 4) - if (channel.voicevolume > 64) channel.voicevolume = 64 - } - if ((channel.volslide and 0xf0) == 0) { - // x is zero, slide down - channel.voicevolume -= (channel.volslide and 0x0f) - if (channel.voicevolume < 0) channel.voicevolume = 0 - } - } - - fun effect_t1_b(ch: Int) { // b pattern jump - } - - fun effect_t1_c(ch: Int) { // c set volume - } - - fun effect_t1_d(ch: Int) { // d pattern break - } - - fun effect_t1_e(ch: Int) { // e - val channel = channel[ch] - val i = (channel.data and 0xf0) ushr 4 - effects_t1_e[i](ch) - } - - fun effect_t1_f(ch: Int) { // f - } - - fun effect_t1_g(ch: Int) { // g set global volume - } - - fun effect_t1_h(ch: Int) { // h global volume slude - if ((globalvolslide and 0x0f) == 0) { - // y is zero, slide up - volume += (globalvolslide ushr 4) - if (volume > 64) volume = 64 - } - if ((globalvolslide and 0xf0) == 0) { - // x is zero, slide down - volume -= (globalvolslide and 0x0f) - if (volume < 0) volume = 0 - } - } - - fun effect_t1_i(ch: Int) { // i - } - - fun effect_t1_j(ch: Int) { // j - } - - fun effect_t1_k(ch: Int) { // k key off - } - - fun effect_t1_l(ch: Int) { // l set envelope position - } - - fun effect_t1_m(ch: Int) { // m - } - - fun effect_t1_n(ch: Int) { // n - } - - fun effect_t1_o(ch: Int) { // o - } - - fun effect_t1_p(ch: Int) { // p panning slide - } - - fun effect_t1_q(ch: Int) { // q - } - - fun effect_t1_r(ch: Int) { // r multi retrig note - } - - fun effect_t1_s(ch: Int) { // s - } - - fun effect_t1_t(ch: Int) { // t tremor - } - - fun effect_t1_u(ch: Int) { // u - } - - fun effect_t1_v(ch: Int) { // v - } - - fun effect_t1_w(ch: Int) { // w - } - - fun effect_t1_x(ch: Int) { // x extra fine porta up/down - } - - fun effect_t1_y(ch: Int) { // y - } - - fun effect_t1_z(ch: Int) { // z - } - - - // -// tick 1+ effect e functions -// - fun effect_t1_e0(ch: Int) { // e0 - } - - fun effect_t1_e1(ch: Int) { // e1 - } - - fun effect_t1_e2(ch: Int) { // e2 - } - - fun effect_t1_e3(ch: Int) { // e3 - } - - fun effect_t1_e4(ch: Int) { // e4 - } - - fun effect_t1_e5(ch: Int) { // e5 - } - - fun effect_t1_e6(ch: Int) { // e6 - } - - fun effect_t1_e7(ch: Int) { // e7 - } - - fun effect_t1_e8(ch: Int) { // e8 - } - - fun effect_t1_e9(ch: Int) { // e9 retrig sample - val channel = channel[ch] - if (tick % (channel.data and 0x0f) == 0) { - channel.samplepos = 0.toDouble() - channel.playdir = 1 - - channel.trigramp = 0.0 - channel.trigrampfrom = channel.currentsample - - channel.fadeoutpos = 65535 - channel.volenvpos = 0 - channel.panenvpos = 0 - } - } - - fun effect_t1_ea(ch: Int) { // ea - } - - fun effect_t1_eb(ch: Int) { // eb - } - - fun effect_t1_ec(ch: Int) { // ec cut sample - val channel = channel[ch] - if (tick == (channel.data and 0x0f)) - channel.voicevolume = 0 - } - - fun effect_t1_ed(ch: Int) { // ed delay sample - effect_t0_ed(ch) - } - - fun effect_t1_ee(ch: Int) { // ee - } - - fun effect_t1_ef(ch: Int) { // ef - } - - -} diff --git a/korau/src/commonTest/kotlin/com/soywiz/korau/mod/MODTest.kt b/korau/src/commonTest/kotlin/com/soywiz/korau/mod/MODTest.kt deleted file mode 100644 index fb3a42af9e..0000000000 --- a/korau/src/commonTest/kotlin/com/soywiz/korau/mod/MODTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.soywiz.korau.mod - -import com.soywiz.korau.mod.readMOD -import com.soywiz.korio.async.suspendTest -import com.soywiz.korio.file.std.resourcesVfs -import doIOTest -import kotlin.test.Test - -class MODTest { - @Test - fun test() = suspendTest({ doIOTest }) { - val sound = resourcesVfs["GUITAROU.MOD"].readMOD() - val data = sound.toAudioData(maxSamples = 44100 * 4) - //WAV.encodeToByteArray(data).writeToFile("/tmp/guitarou.wav") - //sound.playAndWait() - //val mod = Protracker() - //mod.parse(Uint8Buffer(NewInt8Buffer(MemBufferWrap(bytes), 0, bytes.size))) - //val out = arrayOf(FloatArray(8000), FloatArray(8000)) - //mod.playing = true - //mod.mix(mod, out) - //println(out) - } -} diff --git a/korau/src/commonTest/kotlin/com/soywiz/korau/mod/S3MTest.kt b/korau/src/commonTest/kotlin/com/soywiz/korau/mod/S3MTest.kt deleted file mode 100644 index 349ae9b71b..0000000000 --- a/korau/src/commonTest/kotlin/com/soywiz/korau/mod/S3MTest.kt +++ /dev/null @@ -1,29 +0,0 @@ -package com.soywiz.korau.mod - -import com.soywiz.korau.format.WAV -import com.soywiz.korau.sound.toSound -import com.soywiz.korio.async.suspendTest -import com.soywiz.korio.file.std.resourcesVfs -import com.soywiz.korio.file.writeToFile -import doIOTest -import kotlin.test.Test - -class S3MTest { - @Test - fun test() = suspendTest({ doIOTest }) { - val sound = resourcesVfs["12oz.s3m"].readS3M() - val data = sound.toAudioData(maxSamples = 44100 * 4) - //val data = sound.toData(maxSamples = 44100 * 16) - //val data = sound.toData(maxSamples = 5300) - //val data = sound.toData(maxSamples = 16384) - //data.toSound().playAndWait() - //WAV.encodeToByteArray(data).writeToFile("/tmp/12oz.s3m.wav") - //sound.playAndWait() - //val mod = Protracker() - //mod.parse(Uint8Buffer(NewInt8Buffer(MemBufferWrap(bytes), 0, bytes.size))) - //val out = arrayOf(FloatArray(8000), FloatArray(8000)) - //mod.playing = true - //mod.mix(mod, out) - //println(out) - } -} diff --git a/korau/src/commonTest/kotlin/com/soywiz/korau/mod/XMTest.kt b/korau/src/commonTest/kotlin/com/soywiz/korau/mod/XMTest.kt deleted file mode 100644 index 66095e126c..0000000000 --- a/korau/src/commonTest/kotlin/com/soywiz/korau/mod/XMTest.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* -package com.soywiz.korau.mod - -import com.soywiz.korau.format.WAV -import com.soywiz.korau.internal.coerceToShort -import com.soywiz.korau.internal.toSampleShort -import com.soywiz.korau.mod.readMOD -import com.soywiz.korau.sound.AudioData -import com.soywiz.korau.sound.AudioSamples -import com.soywiz.korau.sound.AudioSamplesInterleaved -import com.soywiz.korau.sound.infinitePlaybackTimes -import com.soywiz.korau.sound.toData -import com.soywiz.korio.async.suspendTest -import com.soywiz.korio.file.std.resourcesVfs -import com.soywiz.korio.file.writeToFile -import doIOTest -import kotlin.test.Test - -class XMTest { - @Test - fun test() = suspendTest({ doIOTest }) { - //val sound = resourcesVfs["GUITAROU.MOD"].readMOD() - //sound.playAndWait(times = infinitePlaybackTimes) - val bytes = resourcesVfs["transatlantic.xm"].readBytes() - //val bytes = resourcesVfs["poliamber.xm"].readBytes() - val xm = XM() - xm.load(bytes) - - val NSAMPLES = 16 - //val NSAMPLES = 128 - //val NSAMPLES = 16000 - //val NSAMPLES = 44100 * 24 - - val e = XM.AudioEvent(44100, 0.0, XM.AudioBuffer(NSAMPLES)) - xm.audio_cb(e) - - //WAV.encodeToByteArray(xm.createAudioStream().toData(NSAMPLES)).writeToFile("/tmp/lol2.wav") - //println(ev.outputBuffer.channels[0].toList()) - //println(ev) - } -} -*/ diff --git a/korau/src/commonTest/resources/12oz.s3m b/korau/src/commonTest/resources/12oz.s3m deleted file mode 100644 index 2348eee9105e073d1e0d66f858480ccccde9f6db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171971 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 diff --git a/korau/src/commonTest/resources/GUITAROU.MOD b/korau/src/commonTest/resources/GUITAROU.MOD deleted file mode 100644 index 6de49e935ac1669d017b6b0a270080173723aefb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137064 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 f2NCtm-r{Cw1i?P0lz)70 diff --git a/korau/src/commonTest/resources/poliamber.xm b/korau/src/commonTest/resources/poliamber.xm deleted file mode 100644 index aa094bb2f4f04ec4f10ab243e3f7831620304558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91567 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 P2?-QZ)>0BmSQq?n^C!0_ diff --git a/korau/src/commonTest/resources/transatlantic.xm b/korau/src/commonTest/resources/transatlantic.xm deleted file mode 100644 index 132ddd957f7fe17609e57240ac05b3cf15e70c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308159 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 z 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%0DAyS09FbeqJS2{ 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≫{HfXJ2-o%B?+BT;4wVrr7h!=zRIne)L}|MT4K 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