feat: random beats dialog
Description
Introduce a Random Beats feature that generates drum patterns by density, with optional per‑instrument overrides, a new dialog UI, and a dedicated randomization service.
https://github.com/user-attachments/assets/51246225-6f43-4884-b927-4ea1dec1afb9
Type of Change
- [ ] Bug fix
- [x] New feature
- [ ] Breaking change
- [ ] Documentation update
Awesome
I've changed the page-fill-number widget to AdwSpinRow.
And I've added a Magic item to the "Default Presets" section. Now, if the user clicks on Magic, the randomizer chooses a random density from 20-50% and creates a random beat.
Hi Hadi, thanks for working on this great feature. I've found some issues design-wise and have some comments to add.
I'm thinking about adding maybe a gear icon on the right side of "Magic" that opens the densities dialog to show the users it's customizable.
The name seems kind of odd, especially the three dots. I think something like "Geneate Random" would fit better, I'm open to new ideas though.
I think the first density slider should override them all, even the ones the user changed manually.
It would be better if the volume sliders were aligned and started at the same spot.
There is an issue when the percentage changes from 9 to 10. https://github.com/user-attachments/assets/2c2a20d5-7e54-4c1a-a398-37cb5b98dfcf
Also, consider that soon we will add this feature so users can add new samples or remove the default ones. So handling them dynamically would be better.
Thanks.