Commit graph

3390 commits

Author SHA1 Message Date
Gwilym Inzani 60073c4a89
Merge branch 'master' into allow-invalid-instrument-xm 2024-08-28 12:27:18 +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 53182d8122 It doesn't appear to be an error to have an invalid instrument index 2024-08-28 12:13: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
Gwilym Inzani 5829d71b6b
Fix tilemap gaps in affine graphic modes #733 (#735)
- [x] Changelog updated
Fixes issue #733 where affine tilemaps have a gap.
2024-07-11 21:32:52 +01:00
kouta faa46a4f32 Fix linting issues 2024-07-11 14:56:43 -03:00