• svanya

    I could see how it might be useful to be able to manipulate the OSC-controller mounted on a stand.

    So I laid the controls for a (MoMuPlat) "Wide-Tablet" so they all fit on one page. (See the two files below).

    maximo-osc-tablet-wide-mmp.pd
    maximo-osc-tablet-wide.mmp

    Hope it helps.

    Ciao for now.

    Love and peace only,
    Scott

    posted in patch~ read more
  • svanya

    Maximo (Guitar Rack) - 6 slots with 1 of 60 effects per slot (using "abs_effects_router" + an OSC controller (MobMuPlat)

    maximo.zip

    The app is "maximo-help.pd".

    maximo is an effects-chain giving the user 6 slots each one of which may be used to select from 1 of 60 effects (the first being "unchanged").

    Check her for details about how to use the "abs_effects_router", http://forum.pdpatchrepo.info/topic/10693/abs_effects_router-60-effects-in-one-abstraction-router-from-diy2-stamp-album-my-abs/1 .

    It also includes

    1. a "maximo/admin.pd" abstraction to control:

    dsp, bypass (all), reset (to set all effects to "unchanged"), and 9 presets (0 reserved for program usage) and both save-to-file and load-from-file preset buttons

    1. an Open Sound Control (OSC) mapper ("maximo/osc_control.pd") for sending values (0 thru 1) to controls /cc/1 thru /cc/34 (see the patch for details).

    and

    1. an example OSC (MobMuPlat) controller at "./maximo-osc.mmp" and "./maximo-osc-mmp.pd"

    MAXIMO EXAMPLE

    maximo-example.png

    MOBMUPLAT INTERFACE

    PAGE 1

    mmp-page1.png

    PAGE 2

    mmp-page2.png

    PAGE 3

    mmp-page3.png


    All of this was contingent on the foundation and resources laid out in the DIY2 and Stamp Album collections and actually this was largely an example of persistence not any real insight and the largest percentage of the success goes to their creators for being so diligent about standardizing their abstractions.

    I DO however hope you find it useful.

    My GOAL was to eliminate what is often the case with effect stacks (I have seen) of having to connect all the effects. This eliminates that and makes it much cleaner: only having to select from the (tof/pmenu POPUP_LIST button) or navigate to the desired effect with the standard "first, previous, next, last" controls.

    I hope you find the work useful and capable of helping you to manifest all those wonderful sounds you have in your head.

    Peace and only Love,
    Scott

    The List of Effects per slot is:

    effects_list.png

    posted in patch~ read more
  • svanya

    abs_sequences_by_formula: Sequences by Formula Abstraction, ex. Collatz

    capture13848.png

    abs_sequences_by_formula-help.pd
    abs_sequences_by_formula.pd (required)
    abs_function_router.pd (required)

    Really I was just curious to see if I could do this.

    As to practical purpose: unknown (tho I Do think it's cool to stack sequences with a function router and might come in handy for those folks pursuing Sequencers)

    The abstraction has one inlet which takes a list and sets all the values on the gui.
    One example is given in the list, which sets the abstraction to run the Collatz sequence starting at 11, and decrementing the seed when it reaches 1 until the seed value reaches 1.

    The sequences are calculated by passing values thru either a left or right sequence of three operators which are either +,-,*,/,sin,cos,tan,log,exp, or pow depending on whether the current N is (depending on the splitter) mod=0,!=0 or =0,!=0 and increments the seed value if N exceeds either of the set min or max values.

    The controls:
    seed-num: sets the initial value of the sequence;
    minN: if the calculate N is <= it the next seed is sent;
    maxN: same as minN but >=;
    incr: the number to increment the seed value when minN or maxN are exceeded;
    mod|==: when to split the sequence: if the mod==0 or !=0 OR == or != this value;
    operX1-3 (on both sides): is an abstraction ("abs_function_router.pd") with the following 3 inlets (from left to right): N, a constant, and an index. It then takes N and chooses depending on the index to either: +,-,*,/,sin,cos,tan,log,exp,pow the value with the cold inlets of those functions (where available) set to the constant value;

    If mod|== is reached it sends it to the left set of functions in all other cases it sends it to the right set of functions.

    met: sets the metro (i.e. how fast the N's are calculated) (log 10 to 1000 milliseconds).


    Footnote:

    My intention here was to make a tool available which might allow us as pd users to show non-pd users what we mean when we say "Mathematics is 'Musical'".

    Ciao!.

    Have fun. Let me know if you need any help.

    Peace.
    Scott

    posted in abstract~ read more
  • svanya

    abs_effects_router

    abs_effects_router_sv.zip

    closeup.png


    PURPOSE:

    to as simply and cleanly as possble allow for the selection of an effect from a large-ish set of effects (currently it contains 60 effects (from the DIY2, Stamp Album, and my own collections (in that order on the lists))).

    ARGUMENTS:

    There are four creation arguments which identically align with the four messages you can send to the right inlet.

    Left inlet is audio signal
    Left outlet is audio signal
    Middle outlet is effect-name
    Right outlet is effect-index (0-indexed).

    The four messages/arguments are
    $1: index (0-59);
    $2: bypass (0-no bypass, 1-bypassed);
    $3: param (as a 2 float list, (0-7(int), 0-1 (float)) to set the value for the chosen parameter for the chosen effect;
    $4: command either first, previous, next, or last (0, 1, 2, 3) which actually only trigger those identical buttons on the interface.

    Optionally effects may be chosen from the POPUP_LIST button(as a pmenu) if you have the "tof" external library loaded which can be found in Deken.

    TECHNIQUE:

    All of the effects abs are actually loaded when it starts. However each has a [switch~] which is only activated if that index is selected.

    They are all housed in "res/abs_PATCHES~_sv.pd" and what is visible is achieved by moving the namedwindow over (a Very carefully) aligned and standardized subwindow for each effect.

    The main issue was really standardizing everything, aka. grunt work. Which at the time I desparately needed as my main patch had become sooo abstract it was starting to effect my contentment level :-)).

    FOOTNOTE:

    I am currently (and have been) buiding a more complex example of this abs in practice as a 4 stack with RaspPi+Arduino controller (along with HID-keyboard, MIDI, and OSC) to be used as a "Meta" guitar pedal.

    However I currently am not yet ready to release that work.

    Wanna give a special thanks, to @whale-av for putting me onto the idea about namedwindows which is actually the backbone of this work.


    Peace. Let me know if you need anything or have questions and I will do the best I can to answer them.
    PD Forever,
    svanya

    p.s. as I foresee it, what this abs should mean is users can readily drop in not only a single effect abs, but 60 abs all at once, which they can then choose and cross-relate/stack to their hearts content.

    p.s.s. I am aware of yet could not resolve the r~/vector size errors which are carry overs from the sympathetic string patch. I have read they do not impact anything, but would like to resolve them if someone can see how. Thanks, in advance.

    Thanks, again, everyone who added ideas and moral support.


    As I just told my brother the other day: One of the reasons pure data users are so kind is they GET that all mathematics can be mapped on to audio.

    -Joy

    posted in abstract~ read more
  • svanya

    MMPonBoardEditorTemplate.mmp for creation of MobMuPlat files directly on the handheld (android only)

    MMPonBoardEditorTemplate
    by svanya

    INFO: make copies of this template to use as the starting point for your created .mmp files.

    MMPonBoardEditorTemplate.mmp

    This template is designed to expedite the creation of simple(!) MobMuPlat files on-the-go with only the use of the handheld (i.e. does not require the Java editor).

    There are three sections to this document:
    the templates (in this commented section)
    the mmp header just below this section
    the "ENTRIES SECTION"
    and
    the mmp footer (which closes the .json file).

    To use the template:

    Open this file in a handheld text-editor (you may need to rename it, ex. adding ".txt" (no quotes) to the end of its file name to associate it to the text-editor and NOT MobMuPlat).

    Copy one of the sections from this Templates Section (not including its label and the label colon and paste it into the Entries Section below and for each template you have added more than 1, add a comma after each template except the last one.

    The arrangment on the screen can then be edited (in that same text editor) by amending the "frame" section of each Entry according to the following format:

    "frame":[left,top,width,height]

    (on the JAVA editor the screen is scaled 320px wide by 480px high)

    and

    Re-open the .mmp file inside MobMuPlat (renaming it back to .mmp as necessary).

    Enjoy! And Good Luck! Just post any comments or help you may need here and I will try and get to them as soon as I am able.

    Ciao for Now. Peace,
    svanya

    for those interested here is the code:

    /*
    MMPonBoardEditorTemplate.mmp for creation of MobMuPlat files directly on the handheld (android only)
    
    MMPonBoardEditorTemplate
    by svanya
    
    INFO: make copies of this template to use as the starting point for your created .mmp files.
    
    This template is designed to expedite the creation of simple(!) MobMuPlat files on-the-go with only the use of the handheld (i.e. does not require the Java editor).
    
    There are three sections to this document:
        the templates (in this commented section)
        the mmp header just below this section
        the "ENTRIES SECTION"
    and
        the mmp footer (which closes the .json file).
    
    To use the template:
    
    Open this file in a handheld text-editor (you may need to rename it, ex. adding ".txt" (no quotes) to the end of its file name to associate it to the text-editor and NOT MobMuPlat).
    
    Copy one of the sections from this Templates Section (not including its label and the label colon and paste it into the Entries Section below and for each template you have added more than 1, add a comma after each template except the last one.
    
    The arrangment on the screen can then be edited (in that same text editor) by amending the "frame" section of each Entry according to the following format:
    
     "frame":[left,top,width,height]
    
    (on the JAVA editor the screen is scaled 320px wide by 480px high)
    
    and
    
    Re-open the .mmp file inside MobMuPlat (renaming it back to .mmp as necessary).
    
    TEMPLATES:
    
    MMPLabel:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/label/0","textSize":16,"color":[1.0,1.0,1.0,1.0],"androidFont":"Roboto-Bold","textFontFamily":"Default","text":"label","textFont":"","class":"MMPLabel","frame":[150.0,10.0,100.0,40.0]}
    
    MMPButton:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/button/0","color":[1.0,1.0,1.0,1.0],"class":"MMPButton","frame":[10.0,70.0,100.0,40.0]}
    
    MMPToggle:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"borderThickness":4,"address":"/toggle/0","color":[1.0,1.0,1.0,1.0],"class":"MMPToggle","frame":[10.0,130.0,100.0,40.0]}
    
    vSlider:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/vSlider/0","color":[1.0,1.0,1.0,1.0],"range":2,"class":"MMPSlider","isHorizontal":false,"frame":[10.0,190.0,100.0,40.0]}
    
    hSlider:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/hSlider/0","color":[1.0,1.0,1.0,1.0],"range":2,"class":"MMPSlider","isHorizontal":true,"frame":[10.0,250.0,100.0,40.0]}
    
    MMPKnob:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/knob/0","color":[1.0,1.0,1.0,1.0],"indicatorColor":[1.0,1.0,1.0,1.0],"range":2,"class":"MMPKnob","frame":[10.0,300.0,100.0,100.0]}
    
    MMPXYSlider:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/xyslider/0","color":[1.0,1.0,1.0,1.0],"class":"MMPXYSlider","frame":[10.0,420.0,100.0,40.0]}
    
    MMPGrid:
    
    {"mode":0,"highlightColor":[1.0,0.0,0.0,1.0],"borderThickness":3,"address":"/grid/0","color":[1.0,1.0,1.0,1.0],"dim":[4,3],"class":"MMPGrid","cellPadding":2,"frame":[150.0,70.0,100.0,40.0]}
    
    MMPMultiSlider:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/multislider/0","color":[1.0,1.0,1.0,1.0],"range":8,"outputMode":0,"class":"MMPMultiSlider","frame":[150.0,130.0,100.0,40.0]}
    
    MMPLCD:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/lcd/0","color":[1.0,1.0,1.0,1.0],"class":"MMPLCD","frame":[150.0,190.0,100.0,40.0]}
    
    MMPMultiTouch:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/multitouch/0","color":[1.0,1.0,1.0,1.0],"class":"MMPMultiTouch","frame":[150.0,250.0,100.0,40.0]}
    
    MMPTable:
    
    {"mode":0,"highlightColor":[1.0,0.0,0.0,1.0],"address":"/table/0","color":[1.0,1.0,1.0,1.0],"selectionColor":[1.0,1.0,1.0,0.5019608],"displayRangeLo":-1.0,"displayRangeHi":1.0,"class":"MMPTable","displayMode":0,"frame":[150.0,310.0,100.0,40.0]}
    
    MMPPanel:
    
    {"highlightColor":[1.0,0.0,0.0,1.0],"address":"/panel/0","color":[1.0,1.0,1.0,1.0],"passTouches":false,"class":"MMPPanel","frame":[150.0,370.0,100.0,40.0]}
    
    THE ACTUAL MMP FILE FOLLOWS THIS
    */
    
    {"pdFile":"osc_controller_mmp.pd","backgroundColor":[0.0,0.0,0.0,1.0],"pageCount":1,"port":54321,"isPageScrollShortEnd":false,"startPageIndex":0,"canvasType":"widePhone","gui":[
    
    /*
    ENTRIES SECTION: entries go below here and above the comment below
    */
    
    
    /*
    END: ENTRIES SECTION
    The mmp footer is below.
    */
    
    
    ],"isOrientationLandscape":false,"version":1.64}
    
    

    posted in libpd / webpd read more
  • svanya

    Can someone please show me, i.e. an example patch, how to emulate [unpack] (with WebPd-compatible only objects) with list-drip (I think???)?

    Thanks.

    Peace.
    Scott

    not sure why the developer did not include it. but have seen that in many cases those objects he left out were emulate-able by other objects, ex. sin vs cos.

    Thanks, again. Your help is much appreciated.

    posted in technical issues read more
  • svanya

    I read it sums all the results.

    Is there a way to make it pass one result to the next clone?

    So it's a chain/stream and not a stack? I.e. taking n+1's inlet from n's outlet.

    If no, I'll go ahead and log it as a feature request with Miller. (By the way, does somebody have a link to where I would log such a request?

    posted in technical issues read more
  • svanya

    Doing something with the StampAlbum plugins and [initbang] is used throughout.

    Thanks, in advance.

    -S

    And big thanks goes out to @seed and @whale-av for getting me Very close to making my concept happen. Sorry, it's taken so long to thank y'll. -Peace and thanks, again. Hope y'll like what I've done with your insights.

    note: this same concept/patch also includes the diy2 effects. But in them there is no initbang.

    posted in technical issues read more
  • svanya

    On a different but very logical thread,...a different issue I need/want to find out.

    If I find this out, it will save me a LOT of effort, instead of having to go another route.

    Note: it can be via a created object. But if I have to create (in this case, an abstraction) on say loadbang, how do I do that? In other words, how do I create an abstraction (not a subpatch) on loadbang?

    Thanks, in advance.

    Peace, love, and music thru us all,
    Scott

    posted in technical issues read more
  • svanya

    Working on a pd/WebPD online gui/IDE with hyper-cubic visualizer and it would be great if I could access this info within the confines of WebPD (spec. to help "move" the cubes thru space).

    Which as a footnote: currently I have approx. 100+ effects gathered together which one day I will ask more directly if folks can help me WebPd-erize them. (My vision is very clear (90%-ish) on how to get that done, just working on the prototype now.)

    Really there don't seem to be but about a dozen or more abs that need converting...

    But will leave that for another day.

    Thanks for any help offered re: the above.

    Peace thru us all,
    Scott

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!