Gwilym Inzani
d4a2d9357f
Change out the examples
2024-08-28 17:46:35 +01:00
Gwilym Inzani
fee2575cb7
Retrigger with volume
2024-08-28 17:38:24 +01:00
Gwilym Inzani
48f7020f2c
Should track previous retriggers for retrigger of 0
2024-08-28 17:00:19 +01:00
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
8cec568a5b
Add a method to stop the tracker
2024-08-28 15:48:43 +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
431833b216
Correct vibrato code generation
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
f6e7625bb1
Start hooking in waves
2024-07-11 21:58:44 +01:00
Gwilym Inzani
f3cc62db6f
Massive refactor ahead of waveforms
2024-07-11 21:58:44 +01:00
Gwilym Inzani
0daeba1876
Generate lookup and add waveform to interop
2024-07-11 21:58:44 +01:00
Gwilym Inzani
45f8a52eb5
try_recv to remove unwrap
2024-07-11 21:58:44 +01:00
Gwilym Inzani
afddd77ce8
Don't require leaking the track
2024-07-11 21:58:44 +01:00
Gwilym Inzani
71a7b6431c
Don't force a pointless lifetime on the tracker
2024-07-11 21:58:44 +01:00
Gwilym Inzani
a6fca49f7b
Missing minus sign
2024-07-11 21:58:44 +01:00
Gwilym Inzani
2fa574684c
Number of channel is configurable
2024-07-11 21:58:44 +01:00
Gwilym Inzani
8899a56f65
Allow the clippy lint
2024-07-11 21:58:44 +01:00
Gwilym Inzani
72598d0232
Enable midi and xm by default
2024-07-11 21:58:44 +01:00
Gwilym Inzani
afa8a11b3f
Ensure that the 'quote' feature is included
2024-07-11 21:58:44 +01:00
Gwilym Inzani
f452070154
Do the same changes for midi
2024-07-11 21:58:44 +01:00
Gwilym Inzani
3a755107aa
Get the desktop player actually playing music
2024-07-11 21:58:44 +01:00
Gwilym Inzani
c863b94f49
Hello world for desktop player
2024-07-11 21:58:44 +01:00
Gwilym Inzani
d0925f6787
Make agb optional for the tracker
2024-07-11 21:58:44 +01:00
Gwilym Inzani
3305ca0ff2
Make the tracker generic on the mixer
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
Corwin
a4d6ba5bc9
Release v0.20.5
2024-06-18 17:49:56 +01:00
Corwin
592e6dce09
fix xmrs minor version breakage
2024-06-17 20:37:32 +01:00
Corwin
ac2e6b5046
Release v0.20.4
2024-06-13 23:13:02 +01:00
Corwin
bc63776b9e
Exclude tests / examples / benches from the published packages ( #589 )
...
The package published to crates.io should not include tests / examples /
benches. Previously we ran into issues with having a too large package
from example data, but we avoided this by making the examples smaller. A
better way to avoid this is to not include them at all.
- [x] no changelog update needed
2024-06-13 22:48:00 +01:00
Corwin
a6e4be0577
Release v0.20.3
2024-06-12 17:57:39 +01:00
Corwin
50f2ad6f52
exclude tests / examples / benches from the published packages
2024-06-12 01:19:18 +01:00
renovate[bot]
dd15cb2ee0
Update Rust crate xmrs to 0.6
2024-05-29 16:36:06 +00:00
Corwin
d05965b98f
Release v0.20.2
2024-05-25 13:20:03 +01:00
Corwin
6a5346026a
Release v0.20.1
2024-05-17 23:09:16 +01:00
Gwilym Inzani
93a3bc8e56
just fmt
2024-05-16 23:04:26 +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