Trace: » p.wiki » p.jit.gl.shader » p.storage

p.storage

what is p.storage?

p.storage is a Max abstraction for use as a utility with the pattrstorage object. It enables the easy saving and recalling of presets and aims to reveal and enhance the functionality of pattrstorage through a simple user interface.

You could think of it as a plug-in for Max. It can be used 'straight out of the box' and, because its an abstraction, you can refine it further to suit your own particular needs.

features

p.storage works seemlessly with pattrstorage and makes numerous shortcuts to pattrstorage, for example you can:

  • save presets as symbols;
  • edit preset names and client aliases;
  • rearrange presets using delete, copy, insert or replace commands;
  • automatically number presets;
  • search for presets and clients by name;
  • locate and reveal clients from anywhere within the patcher hierarchy;
  • locate and reveal multiple instances of p.storage with p.storagemarker;
  • use remote messaging - communicate with pattrstorage objects in bpatchers and/or poly~ objects;
  • and much more!!

documentation

All documentation, in addition to this page, is maintained online.

download

The latest version of p.storage is 5.03.

The Max 4 version is still available. It has some, but not all, of the functionality of the Max 5 version.

installing p.storage

Download the p.storage package, unzip the contents and place the p.storage folder in your max searchpath. You might want to check out the p.storage.maxhelp patch to see it in action.

quick start guide to p.storage

Many of the actions that you carry out in p.storage are named after the respective message that you would use with pattrstorage, so you might already be familiar with them. If you are not familiar with the pattr family then you should look at them first.

connecting to pattrstorage

connecting p.storage

To get started all you need to do is to place a copy of p.storage in your patch and connect it to a pattrstorage object by connecting the left outlet of p.storage to the left inlet of pattrstorage, and then the left outlet of pattrstorage to the left inlet of p.storage as illustrated in the image.

Note: you may want to read the current settings of the connected pattrstorage. To do so, simply use the 'initialise p.storage' command from the messages menu. You only need to do this on first connecting p.storage to pattrstorage. Thereafter, all the settings are restored automatically.

The more common commands are available from the drop down menus on the main interface of p.storage. So, to store a new preset use the store command from the store menu, to recall a preset select one from the recall menu and to delete a preset choose the preset from the delete menu..etc.

The first thing you might notice is that p.storage is designed to easily accommodate names, or 'slotnames', for your presets. You can choose to name the presets whatever you choose by entering a name into the dialogue box that appears when you select 'store'. However, its easy to auto-name them using p.storage's preset_name attribute. This way you can have a batch of presets using the same name. And, not to get confused, each new preset name will also be numbered. If you want something even quicker, just click on the button next to the store menu and a new preset is stored, named, incremented and numbered automatically.

If you change your mind about the preset you just stored and want to overwrite it, select store again from the store menu. Want to go back and insert a preset into the middle of your preset list? Easy! Select a preset and use the insert before, insert after or replace menu items. Or, if you already have a batch of presets that you want to reorder, you could use the preset manager to shuffle them around to your heart's content whilst checking the flow between each using the up and down keys of your computer keyboard. Click on the right side of p.storage to view the windows menu and select preset manager.

What about renaming presets? Again, the preset manager is your friend! Simply select the 'name' tab, click on the preset you want to rename and change it. Or, if you simply want to remove the numbering from the presets then select 'remove numbering' and they are automatically removed, leaving just the names.

Can't find the preset you're looking for amongst the hundreds that you've stored? Then search for it using the search box.

That's all there is to getting started using p.storage with presets. There's lots more that you can do with p.storage - we haven't even mentioned the client manager yet! ;-)

more

other pattrstorage patches

some other pattrstorage patches available are listed here. Please add any you think might be of interest:

  • a jitter javascript interface for multi preset interpolation was written by Andrew Benson but I can't find the link for it FIXME
  • another interface for pattrstorage by fp download link: Preset.zip
  • a jsui interface that interpolates between presets by Charlie DeTar: pattr_ui
  • a simple pattrstorage GUI that let's you queue up preset recalls: ajm.psui

Discussion

pelado, 24/Dec/2008

I'd like to say thanks to Perry Hoberman for his comments about p.storage. His suggestions got me motivated to add a couple of things, update it and indirectly lead me to setting up this wiki. Also thanks to everyone else who's contributed and commented. And while I'm at it, a huge bigup to Cycling and Jeremy Bernstein for developing the pattr family. Where would Max be without it? -pelado

Mike Schapiro, 22/Jun/2009

I'm just beginning to toy around with this, and so far I love it (Perry introduced me to it). My first suggestion (I doubt it will be my only one!) is this: When a user hits the 'store' button, it'd be great if the menu displaying the preset list updated to reflect that you've just added a new one.

So, say you have 3 presets, “preset_001”, “preset_002”, and “preset_003”. If the menu is currently displaying “preset_001” and I hit “store” it should update to display “preset_004.”

Also, a question about licensing - my main reason for interest in this is for a standalone app that I'm building that I am hoping to sell some day. Obviously if I use p.storage in it, you'd at the least be credited, and we can work out if you'd like to get residuals or something for it, unless you're totally against it being used in things for sale? What are your thoughts on that?

mattyo, 04/Feb/2010

Very impressive piece of work – I admire your patience for a rather thankless task. I have a bug report, if you are still working on this: if grab_enable is activated, it will only actually grab if you are creating a new preset at the end of your list, not if you are using a 'replace current' storage command. Trivial, I know, but I just banged my head against it, so I thought you should know.

Ann, 27/Jul/2010

Thanks for information! http://www.google.com

Enter your comment (wiki syntax is allowed):
NUJLK
Edit this pageShare/Save/Bookmark Creative Commons License Driven by DokuWiki