• Balwyn

    Vanilla Shapes

    A collection of 14 objects that can be used to create static shapes in a graph-on-parent patch or abstraction using a single object with creation arguments for each shape, all the arguments are required except for the destination(last), which can be replaced by the single outlet using send and a bang to it's inlet, useful only for creation order changes and the destination should be cleared first.

    IMPORTANT the destination patch or graph-on-parent patch should be cleared before saving changes. This is because the objects are created at load time by an internal loadbang and any previously saved objects scalar may be stranded and accumulate in the .pd file causing Pd to crash on the next load. The file also grows from a few KB to 20KB or 30 KB. Use the object "clear-first" as the very first object.

    These objects require a graph-on-parent to have ranges set from 0 to size to match the GOP window size otherwise the object will be distorted

    Once the desired graphics are completed and saved, create another GOP patch of the same size and new name, place above the graphics patch and add controls etc.

    Pd-vanilla uses rounded end caps for its drawn lines, this gives soft or rounded corners to weightier lines. This also gives us the ability to make nicer circles by creating a single pixel dot and changing the weight (line-width) to change the size, "circle-filled" and "circle-filled-xl" use this feature.

    “rectangle”, “rectangle-filled”, “singleline”, "circle-unfilled", "ellipse" and "ellipse-filled" are drawn geometrically and "ellipse" / "ellipse-filled" can also draw circles when the width and height are the same.

    "polygon" has a maximum of 8 nodes, any unused nodes need to repeat the last node.
    "polygon-filled" has a maximum of 7 nodes, any unused nodes need to repeat the last node and the last node will join to the first node and enclose the shape.

    "curve" and "curve-filled" both have a start position followed by 12 nodes as offsets from there. It is easier to decide the number of nodes to use first then create the curve from the right side and leave the remaining nodes as 0 offsets.

    "seriesoflines-h" and "seriesoflines-v" useful for drawing grids of horizontal and vertical lines that could also be skewed.

    Vanilla-Shapes.zip

    image.png

    posted in abstract~ read more
  • Balwyn

    @Moothart if you know where the bangs you want to pass come from, you could change it via a message and then filter it back to a bang with route
    I've also changed the spigot to open using a message [1{ to respond to any as @lacuna advised
    one-bang-update.pd
    image.png

    posted in technical issues read more
  • Balwyn

    @Moothart glad it may help in some way
    @lacuna Thanks for correction, I should have known better, however your example is only letting through bangs

    posted in technical issues read more
  • Balwyn

    apologies @jameslo I wasn't paying attention and replied to a 3 year old post

    posted in technical issues read more
  • Balwyn

    @jameslo can you use tabwrite~ and tabsend~
    image.png

    posted in technical issues read more
  • Balwyn

    @Moothart This may work for you
    the first bang closes the spigot stopping anymore bangs, anything else opens the spigot
    one-bang.pd
    image.png

    posted in technical issues read more
  • Balwyn

    I think you could export each plot to a separate text file then read each file into a separate graph array which can have a different colour and stacked on top of each other (the four arrays could also be sent to same graph if preferred).
    Or create another column in the spreadsheet to give the coordintates a plot identity which can be used to filter the xy pairs.

    posted in technical issues read more
  • Balwyn

    Requires else and iemguts libs
    image.png
    Edit:
    And here are the files
    racing.zip

    posted in patch~ read more
  • Balwyn

    the-race.zip
    requires the following libraries: else and iemguts.
    image.png

    posted in patch~ read more
  • Balwyn

    @atux I refer you to this thread
    https://forum.pdpatchrepo.info/topic/14831/soundfont2-sf2-preset-reader/20
    and the second last post where I uploaded sf2-toy.zip.
    Mod-Env-Pitch(7) slider allows pitch change of the playing notes
    you may need to extend release times and shorten the other envelope parameters.
    however I had omitted some files, so here it is again with all the bits
    toy.zip

    posted in technical issues read more
  • Balwyn

    @impression
    Sending the polyphonic note data directly to clone via send a receives to clone and receiving from the right node (rejected) of route in the synth works ok, So yes its possible.
    testPage-updated.zip
    image.png

    posted in technical issues read more
  • Balwyn

    give testSynthClone a unique argument $0-three
    in testSynthClone put [r in-$1]
    in testPD put
    [ s in-$0-three]
    |
    [all cutoff $1(
    |
    [clone testSynth 4]

    testPD.zip

    image.png

    posted in technical issues read more
  • Balwyn

    You can prefix the number of the cloned synth in a message to that synth eg 2 cutoff $1 then within the cloned synth and route the cutoff value and pass it on polyphonically with all cutoff $1
    clone-project.zip
    image.png

    posted in technical issues read more
  • Balwyn

    Damn too late again :laughing:

    posted in abstract~ read more
  • Balwyn

    I've just updated the above poly-dynamic to pass through the clear and stop messages to poly

    posted in abstract~ read more
  • Balwyn

    I never found a way to change the number of voices in the poly object other than changing the creation argument. eg [poly 8 1] to [poly 1 1]
    Here is an abstraction to address this

    poly-dynamic.zip updated

    posted in abstract~ read more
  • Balwyn

    if you mean pitch shifting with constant duration
    3.audio.examples/I07.phase.vocoder.pd explains how to do this:
    The [pd read-windows] sub patch within [pd fft-analysis] sub patch explains it more
    here is a sample recording from a project I'm currently making using this
    puredata.mp3

    posted in technical issues read more
  • Balwyn

    Here is way to get a bit more out of the soundfont generators using NRPN to address them. I've had this info for a very long time and can't seem to find where it came from.
    You will need to change the path to your soundfont in [else/sfont~] and use the sf2-presets-reader.pd to create soundfont.txt if you want to use choose-sf2.pd.
    Probably not that useful, just a bit of fun

    Edit: I found the source of this info in the soundfont 2.04 spec

    sf2-toy.zip
    Edit: I updated the above zip with some missing patches 24th June 2025
    image.png

    posted in patch~ read more
  • Balwyn

    I've just updated choose-sf2-example.pd in the zip in the original post because it was incorrectly wired and triggered, causing the previous index and current bank to be sent immediately before the current index and current bank often causing an error. I noticed it when I connected a print object to else/sfont~ right outlet
    choose-sf2-example.pd

    posted in patch~ read more
  • Balwyn

    @porres I removed else from my startup preferences, declared -lib else in a patch and else/sfont~ now loads successfully

    posted in patch~ read more
Internal error.

Oops! Looks like something went wrong!