Skip to content

Slight rework of FP Grids#467

Open
ArthurGibert wants to merge 14 commits intomainfrom
feat/fp-grid-rework
Open

Slight rework of FP Grids#467
ArthurGibert wants to merge 14 commits intomainfrom
feat/fp-grid-rework

Conversation

@ArthurGibert
Copy link
Contributor

Fix timing and phase issue

ArthurGibert and others added 12 commits February 26, 2026 15:07
* fix(configurator): add markdown parser for app entries

* fix(configurator): add more chapter marks to manual
* fix(clock): add public tick counter, reset delay

* feat(clock): implement public tick counter in apps

* fix: use is_multiple_of where possible

---------

Co-authored-by: ArthurGibert <artgibert@gmail.com>
Bumps [keccak](https://github.com/RustCrypto/sponges) from 0.1.5 to 0.1.6.
- [Commits](RustCrypto/sponges@keccak-v0.1.5...keccak-v0.1.6)

---
updated-dependencies:
- dependency-name: keccak
  dependency-version: 0.1.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v5...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.5 to 7.1.11.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.11
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@ArthurGibert ArthurGibert marked this pull request as draft March 3, 2026 19:06
@ArthurGibert ArthurGibert marked this pull request as ready for review March 6, 2026 15:47
self.state_ = 0;
self.pulse_duration_counter_ = 0;

// Prime the first external interval as steps 0|1 so callers that read
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @ArthurGibert I am struggling to understand what this code does, and why it is necessary.

When I now call generator.reset(), then query the generator.getSteps(), it is already set to 2 ...?
This means that code that should be triggered at the start of a pattern sequence after a reset is never executed, like this https://github.com/ATOVproject/faderpunk/pull/467/changes#diff-0a1fb26733375c0300e1f03e83ace8d18a39cbde92ddb571fa966037075aa848R404.

Comment on lines +419 to +423
if matches!(div, 2 | 4 | 8 | 16) {
leds.set(3, Led::Bottom, Color::Orange, Brightness::High);
} else {
leds.set(3, Led::Bottom, Color::Blue, Brightness::High);
}
Copy link
Collaborator

@rjsmith rjsmith Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ArthurGibert I've experimented with this variation instead , I find it really useful to quickly be able to land on 1/16th notes visually

                            if matches!(div, 2 | 4 | 8 | 16) {
                                leds.set(3, Led::Bottom, Color::Orange, Brightness::Mid);
                            } else if div == 6 {
                                // Highlight 1/16th note default
                                leds.set(3, Led::Bottom, Color::Yellow, Brightness::High);
                            } else {
                                leds.set(3, Led::Bottom, Color::Blue, Brightness::Mid);
                            }

return;
}

const INTERNAL_STEPS_PER_EXTERNAL_TICK: u8 = 2;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps a simpler alternative for FP-Grids is just to run it on a fixed clock division per output mode:

  • div = 6 for Euclidean (16 steps in one bar)
  • div = 3 for Drum Mode (32 steps in one bar)
  • div = 6, 4 depending on the number of steps per bar in the DnB pattern

This merging solution is going to mask the original underlying drum patterns I think.

@chmanie chmanie force-pushed the main branch 4 times, most recently from d7ab681 to 18e6fd4 Compare March 16, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants