Commit graph

3392 commits

Author SHA1 Message Date
Gwilym Inzani
7d0ad0d497 State that this is text 2024-08-28 12:27:27 +01:00
Gwilym Inzani
2614fd1af0 Make affine map indexes u16 2024-08-28 12:27:27 +01:00
Corwin
974b08989a add docs 2024-08-28 12:27:27 +01:00
Corwin
e1cc3d7773 make affine stuff public, there's no invariant we want to maintain 2024-08-28 12:27:27 +01:00
Gwilym Inzani
716147ebae
Shorten the first paragraphs (#754)
Clippy was complaining that our first paragraphs were too long

- [x] no changelog update needed
2024-08-28 12:16:08 +01:00
Gwilym Inzani
d045b8c8f2 Shorten the first paragraphs 2024-08-28 12:08:24 +01:00
Gwilym Inzani
a79829068c
Update tracker to support PatternBreak and PositionJump (#748)
This pull request adds support for pattern breaks and position jumps to
the music tracker module. This PR only adds functionality for XM input
files for now. However, these changes would also be applicable to other
types of music modules, such as Amiga modules.

In `agb-xm-core`: 
* handle effects Bxx, Dxx, and their combination

In `agb-tracker-interop`: 
* represent jump using a `PatternEffect`

In `agb-tracker`:
* keep track of any applicable jump in `TrackerInner`, and handle it in
`increment_frame()` when needed
2024-08-24 23:23:21 +01:00
Gwilym Inzani
79f93fe2d2
asm_const is no longer nightly (#751)
- [x] no changelog update needed
2024-08-17 08:46:52 +01:00
Gwilym Inzani
6da89991aa asm_const is no longer nightly 2024-08-17 08:39:07 +01:00
wysiwys
da92ec3b8b Update tracker to support PatternBreak and PositionJump 2024-08-02 21:23:36 -04:00
Gwilym Inzani
4a3792b248
Add template to workspace exclude (#745)
Avoids a warning in rust-analyzer and is the correct thing to do

- [x] no changelog update needed
2024-07-24 17:25:30 +01:00
Gwilym Inzani
8193134c5f
Update Javascript packages (non-major) (#741)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.14.10` ->
`20.14.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.10/20.14.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.10/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.10/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [styled-components](https://styled-components.com)
([source](https://togithub.com/styled-components/styled-components)) |
[`6.1.11` ->
`6.1.12`](https://renovatebot.com/diffs/npm/styled-components/6.1.11/6.1.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/styled-components/6.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/styled-components/6.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/styled-components/6.1.11/6.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/styled-components/6.1.11/6.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`5.5.3` ->
`5.5.4`](https://renovatebot.com/diffs/npm/typescript/5.5.3/5.5.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>styled-components/styled-components
(styled-components)</summary>

###
[`v6.1.12`](https://togithub.com/styled-components/styled-components/releases/tag/v6.1.12)

[Compare
Source](https://togithub.com/styled-components/styled-components/compare/v6.1.11...v6.1.12)

#### What's Changed

- Export rehydrate from StyleSheet by
[@&#8203;hamidrezahanafi](https://togithub.com/hamidrezahanafi) in
[https://github.com/styled-components/styled-components/pull/4328](https://togithub.com/styled-components/styled-components/pull/4328)
- Prevent ServerStyleSheet generating empty style tags/elements by
[@&#8203;hamidrezahanafi](https://togithub.com/hamidrezahanafi) in
[https://github.com/styled-components/styled-components/pull/4327](https://togithub.com/styled-components/styled-components/pull/4327)

#### New Contributors

- [@&#8203;hamidrezahanafi](https://togithub.com/hamidrezahanafi) made
their first contribution in
[https://github.com/styled-components/styled-components/pull/4328](https://togithub.com/styled-components/styled-components/pull/4328)

**Full Changelog**:
https://github.com/styled-components/styled-components/compare/v6.1.11...v6.1.12

</details>

<details>
<summary>Microsoft/TypeScript (typescript)</summary>

###
[`v5.5.4`](https://togithub.com/Microsoft/TypeScript/compare/v5.5.3...c8a7d589e647e19c94150d9892909f3aa93e48eb)

[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-07-24 17:24:16 +01:00
renovate[bot]
1a7edf54ed
Update Javascript packages (non-major) 2024-07-24 16:16:46 +00:00
Gwilym Inzani
0cb5e18c3c Add template to workspace exclude 2024-07-24 17:16:39 +01:00
Gwilym Inzani
0554f16c24
Remove unnecessary unsafe block (#744)
Needed to fix the build

- [x] no changelog update needed
2024-07-24 17:15:46 +01:00
Gwilym Inzani
178018c0f0 Remove unnecessary unsafe block 2024-07-24 17:08:02 +01:00
Gwilym Inzani
db9fdb77e3
Refactor tracker core (#719)
I thought it would be fun to try and write the tracker in such a way
that it could be used locally too.

- [x] changelog updated
2024-07-16 20:11:04 +01:00
Gwilym Inzani
e4025caef9
Update Rust crate addr2line to 0.24 (#739)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [addr2line](https://togithub.com/gimli-rs/addr2line) | dependencies |
minor | `0.23` -> `0.24` |

---

### Release Notes

<details>
<summary>gimli-rs/addr2line (addr2line)</summary>

###
[`v0.24.0`](https://togithub.com/gimli-rs/addr2line/blob/HEAD/CHANGELOG.md#0240-20240716)

[Compare
Source](https://togithub.com/gimli-rs/addr2line/compare/0.23.0...0.24.0)

##### Breaking changes

-   Updated `gimli` dependency.

##### Changed

- Changed the order of ranges returned by
`Context::find_location_range`, and
    fixed handling in rare situations.
    [#&#8203;303](https://togithub.com/gimli-rs/addr2line/pull/303)
    [#&#8203;304](https://togithub.com/gimli-rs/addr2line/pull/304)
    [#&#8203;306](https://togithub.com/gimli-rs/addr2line/pull/306)

-   Improved the performance of `Context::find_location`.
    [#&#8203;305](https://togithub.com/gimli-rs/addr2line/pull/305)

##### Added

-   Added `LoaderReader`.
    [#&#8203;307](https://togithub.com/gimli-rs/addr2line/pull/307)

-   Added `--all` option to `addr2line`.
    [#&#8203;307](https://togithub.com/gimli-rs/addr2line/pull/307)

***

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-07-16 19:45:38 +01:00
Gwilym Inzani
2c1d8fc904 Also update gimli 2024-07-16 19:37:59 +01:00
renovate[bot]
88ee2a74e8
Update Rust crate addr2line to 0.24 2024-07-16 09:27:13 +00:00
Gwilym Inzani
7833561be1
Update Javascript packages (non-major) (#734)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.14.9` ->
`20.14.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.9/20.14.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-config-next](https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config)
([source](https://togithub.com/vercel/next.js/tree/HEAD/packages/eslint-config-next))
| [`14.2.4` ->
`14.2.5`](https://renovatebot.com/diffs/npm/eslint-config-next/14.2.4/14.2.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-next/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-next/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-next/14.2.4/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-next/14.2.4/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [next](https://nextjs.org)
([source](https://togithub.com/vercel/next.js)) | [`14.2.4` ->
`14.2.5`](https://renovatebot.com/diffs/npm/next/14.2.4/14.2.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/next/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/next/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/next/14.2.4/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next/14.2.4/14.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vercel/next.js (eslint-config-next)</summary>

###
[`v14.2.5`](https://togithub.com/vercel/next.js/compare/v14.2.4...v14.2.5)

[Compare
Source](https://togithub.com/vercel/next.js/compare/v14.2.4...v14.2.5)

</details>

<details>
<summary>vercel/next.js (next)</summary>

###
[`v14.2.5`](https://togithub.com/vercel/next.js/compare/v14.2.4...v14.2.5)

[Compare
Source](https://togithub.com/vercel/next.js/compare/v14.2.4...v14.2.5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/agbrs/agb).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-07-11 22:10:00 +01:00
Gwilym Inzani
a604f269bc Update changelog 2024-07-11 21:59:28 +01: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
9c2d02f161 We now need alsa to build the desktop player 2024-07-11 21:58:44 +01:00
Gwilym Inzani
2785df56ca The xm feature is enabled by default 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
6076a1bd23 Fix the DPL tracker usage 2024-07-11 21:58:44 +01:00
Gwilym Inzani
7332c8a5f0 Don't know why this is in there twice 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