hi everyone. i've been messing around in pd for quite a while now and after the initial hump of learning how it all works, it really clicked with me. i really love this software and as a way of giving back to the community i decided i'd post two of my sequencers here.
the first one, drumseq.pd, is a simple drum sequencer made primarily of 4 rows of toggle boxes. if you send bangs or floats to the inlet, it will send bangs to each outlet depending on whether the toggles for the current step are checked.
the second one, anaseq.pd, is an analog sequencer which allows you to output values from 0 to 127 for each step. you can only edit one "row" at a time but there are still four outlets. by default all outlets are outputting the data from pattern 0, but this can be changed with a "play [pattern] [outlet]" message to the inlet.
both sequencers currently only support 8 patterns (numbered 0-7) but because of the way they are designed, it wouldn't be too difficult to increase that number later on. i didn't include a lot of documentation for each sub-patch, but in the main patch, there are a lot of comments which should help you to understand how it all works.
some of the other functions these sequencers have are:
* pattern copying
* saving of patterns
* (automatic) loading of patterns
* full control via messages to the inlet
i tried to give each sequencer a minimal yet useful interface. there are three buttons on the top row: save (in red), copy (in orange), and go (in green). save will save the pattern to a file (be sure to look inside the sequencers before you press this - right now it will try to save to the path i use, which likely doesn't exist on your system). copy will by default copy from the previous pattern to the current one. "go" will play the current pattern (you can edit patterns without having to play them - hopefully this will make it easier to use the sequencers in a live/improv setting).
i'm bad at explaining things but if you have questions i'd be glad to answer them. hopefully these abstractions will be of use to you. like i said, i've tried to make them as general/open-ended as possible.
p.s.: i've also included "bpmm.pd" which is a simple abstraction for outputting numbers at a certain bpm. this has four outlets - the first outputs a bang on each downbeat and will output a "time" message with the length of each bar in milliseconds as well as a "freq" which gives the frequency needed to synchronize a phasor with the bpm (you can route the bang to a [0( to reset the phasor so they stay in sync). the second outlet outputs 0-3 for each fourth note, and the third outputs 0-15 for each 16th note in the bar (connect this third outlet to the inlet of the drumseq or anaseq to run them). the final outlet of the bpmm is a signal outlet, which is a phasor~ output sync'd to the bpm. if you turn off the bpmm (via the toggle) then the phasor stops as well.