Gwilym Inzani
5f76fcc316
May as well support 0xE8
2024-08-28 16:48:28 +01:00
Gwilym Inzani
9fa171b712
E9 is the same as R0x
2024-08-28 16:46:08 +01:00
Gwilym Inzani
54a31934b2
Add support for retrigger command
2024-08-28 16:43:59 +01:00
Gwilym Inzani
559367f607
Add sample offset command support
2024-08-28 16:32:28 +01:00
Gwilym Inzani
ea792f4768
Print the actual effect character
2024-08-28 16:10:26 +01:00
Gwilym Inzani
53182d8122
It doesn't appear to be an error to have an invalid instrument index
2024-08-28 12:13:08 +01:00
wysiwys
da92ec3b8b
Update tracker to support PatternBreak and PositionJump
2024-08-02 21:23:36 -04:00
Gwilym Inzani
c7482f54ab
This feels more correct
2024-07-11 21:58:44 +01:00
Gwilym Inzani
8fa595f7f7
Handle RampDown
2024-07-11 21:58:44 +01:00
Gwilym Inzani
3bd8b9019d
Handle vibrato in the instrument too
2024-07-11 21:58:44 +01:00
Gwilym Inzani
d15063373d
Implement vibrato correctly and add a small test case
2024-07-11 21:58:44 +01:00
Gwilym Inzani
c1eaae64e1
Support fine portamentos
2024-07-11 21:58:44 +01:00
Gwilym Inzani
31ca8f631f
Add vibrato
2024-07-11 21:58:44 +01:00
Gwilym Inzani
d00de7b2a4
Make agb-xm-core return the interop rather than the tokens
2024-07-11 21:58:44 +01:00
Gwilym Inzani
352b352b27
Properly implement delay and envelopes
2024-05-16 00:27:20 +01:00
Gwilym Inzani
5494ae29e1
Get the envelopes correct
2024-05-15 23:47:37 +01:00
Gwilym Inzani
2e0f89978a
Add note delay support (effect EDx)
2024-05-15 22:30:13 +01:00
Gwilym Inzani
b5fc27d243
Spell amiga correctly
2024-05-15 21:54:31 +01:00
Gwilym Inzani
2ab3fa79e1
Notes are 1 indexed, not 0 indexed
...
Versions of xmrs below 0.4.1 (unreleased, 0.4.2 is on crates.io but
0.4.1 is in the repo) have a bug where they swap linear and amiga
frequencies. This caused all old versions of agb (which were using
version 0.3) to use the amiga frequency table rather than the linear
one. Technically it sounds slightly wrong but it is kinda hard to tell.
Since agb 0.20.0, we are now using xmrs 0.5, which correctly reports the
frequency type for the XM file. That pointed out an error in the
note_to_speed method for linear frequencies (since those are now being
used). It turns out that the formula for calculating the frequency
expects a 0 based index for the note, but we were passing a 1 based
index for the note. Moving this down a note fixes the issue where things
were being played at the wrong frequency.
2024-05-15 21:35:03 +01:00
Corwin
184b11ed81
use static rather than const
2024-03-29 14:41:08 +00:00
Gwilym Inzani
0c19988699
Use 32768Hz for the tracker
2023-09-05 23:22:50 +01:00
Gwilym Inzani
eda11073ed
Introduce fixnum::from_f(32|64)
2023-08-06 20:24:59 +01:00
Gwilym Inzani
4f7fb7125b
Fix crash for some files
2023-08-05 23:51:26 +01:00
Gwilym Inzani
67de2d5833
Implement fadeout
2023-08-05 23:51:12 +01:00
Gwilym Inzani
f6ed1c484b
Implement global volume
2023-08-05 22:55:03 +01:00
Gwilym Inzani
3976fd93ea
Correctly interpret F00
2023-08-05 22:29:31 +01:00
Gwilym Inzani
db75d8b048
Minor fixes when trying other tracks
2023-08-05 01:33:48 +01:00
Gwilym Inzani
ff5d324356
Reuse envelopes if they are the same
2023-08-05 00:58:39 +01:00
Gwilym Inzani
aabfb1b083
This sounds pretty decent now
2023-08-05 00:24:11 +01:00
Gwilym Inzani
47455a0377
First pass at implementing envelope playing
2023-08-05 00:02:50 +01:00
Gwilym Inzani
ca4cb55b39
Add boilerplate for exporting the envelopes
2023-08-04 23:25:48 +01:00
Gwilym Inzani
d29a641a44
Specify that it is the volume envelope
2023-08-04 23:19:07 +01:00
Gwilym Inzani
826fdd881a
Add data structure
2023-08-04 23:17:59 +01:00
Gwilym Inzani
9d299f3e66
Fix out by one error with instrument samples
2023-08-04 23:07:19 +01:00
Gwilym Inzani
fa4b2ebd5d
Implement F command
2023-08-04 22:30:49 +01:00
Gwilym Inzani
6731fa88a0
I prefer this a bit slower
2023-08-02 17:18:27 +01:00
Gwilym Inzani
8177366c6b
Remove dbg
2023-08-02 16:49:30 +01:00
Gwilym Inzani
4b145d3194
Try composing my own theme (with some bug fixes)
2023-08-02 16:48:41 +01:00
Gwilym Inzani
f4214b5da8
Use new music for dungeon puzzler's lament and fix tracker bugs
2023-08-01 21:41:33 +01:00
Gwilym Inzani
25ee876932
Fix a bunch of bugs after playing with different tracks
2023-07-23 23:37:14 +01:00
Gwilym Inzani
d233a2539c
Improve accuracy of the volume
2023-07-23 22:10:25 +01:00
Gwilym Inzani
095723bbf8
FineVolumeSlide
2023-07-23 22:03:32 +01:00
Gwilym Inzani
f6a05178db
Fix slides and add the portamento one
2023-07-23 21:36:02 +01:00
Gwilym Inzani
0911ca44c5
Try a new song and add memory support
2023-07-23 20:54:24 +01:00
Gwilym Inzani
352658f23f
Fix clippy lints
2023-07-23 19:08:51 +01:00
Gwilym Inzani
b6cccf3b5a
Add Portamento
2023-07-19 13:38:32 +01:00
Gwilym Inzani
1b8f4bbdc9
NoteCut support
2023-07-19 13:22:26 +01:00
Gwilym Inzani
6f8633861d
Use 32-bit numbers more for more performance (and start tracking that)
2023-07-18 22:49:56 +01:00
Gwilym Inzani
b8adf08382
Don't hold arpeggios
2023-07-18 22:17:17 +01:00
Gwilym Inzani
a91069eac2
Consider the global volume
2023-07-18 21:37:01 +01:00