(Beginner) Midi Sequencing

I keep coming back to Juce to have another go. I’ve followed through some of TAP’s tutorials on youtube.

Two things I’d like to know/learn how to do in Juce is:

  1. Midi drum sequencer – the aim is to replicate the sequencing environment you find in e.g. Tremor (where you can vary the number of steps in a sequence on a line-by-line basis) or Geist (things like note repeat). That sort of thing. First aim is a minimal viable thing so that I understand the basic way such a midi sequencer works. Especially how to tempo sync it (so that when the transport is paused, it can play at current tempo, and when transport is playing, it plays in time).
  2. A step input plugin. The use case is Bitwig where it lacks step input like either Ableton (hold note and press arrow keys) or Reaper (press keys and notes/chords are inserted), from where I can then process/edit the resulting note information and drag/drop midi to the DAW.

So that’s the sort of place I want to aim at.

Any suggestions for what to look at?

There is the Arpeggiator tutorial, but where else can I look?

you probably wanna look into juce::AudioPlayHead, the class that contains all the project position and bpm-related information and it’s used in processBlock. at the start of each block you get new values for all of these (optional) variables. from that you can synthesize a phasor that gives you an exact sequencer position for each sample index. then you can basically say that some proportions of that phasor signal correspond to certain steps and define what you wanna do with that