PatchStorage (beta) : download/update patches from the Extra menu (over wifi)

hello :v:

i worked on a “PatchStorage” extra menu to download patches directly from patchstorage.com to the Organelle via wifi…

PatchStorage_beta2.zip (495.2 KB)
(rename to .zop and install from /Patches , or unzip and place into /System)

MenuScreen

there’s nothing special in it, it was just a laborious work of copying/pasting scripts and download links … i would like to be able to show an adapted version of the patchstorage website on the OLED screen in realtime instead, but i’m not … so it’s just a basic extra menu, but it works better than nothing :slight_smile:

of course patchstorage.com contains useful (sometimes crucial) informations about patches, so it’s not made to bypass the website completely, i didn’t try to add these informations (it’s possible, i would like to, but it’s just too much work, there are almost 300 patches available…) so i tried to exclude the few patches that requires extra installations/informations.

for now there are ±280 patches (6 categories)

here are some excluded patches, i may have to remove some more, i will complete this list later :

Orac 2.0 (for no reason, i was gonna add it in a final release, but plans may have changed, read the next posts)
Orac modules
TigerVNC (replaced by StartVNC)
MOM (not a patch)
OTC - ETC for Organelle (1-only)
SuperCollider Installer (1-only)
PD49Update (1-only)
Resize SD (1-only)
The Jonas Synth (main.pd file only)
ARP (needs additional install)
Frozen Soft Pad (.rar instead of .zip/.zop)
Hammond3
Orac 1 (replaced by Orac 2.0)
STEPMOTHER (not a patch)
STEPMOTHERrec (not a patch)

2 Likes

This is a cool idea… something I’ve been thinking about for a while. I like the clever use of folders that essentially creates a sub menu… but it is an awfully lot of files and folders to maintain!

A while back the Patchstorage folks were talking about an API for their site, so we could just have a single python script that pulled a list of patches from the server. Then it’d be easy to organize the patches by tags, likes, downloads, dates, whatever. Wouldn’t even need a full API, just a URL that returned the list of patches and their details in JSON or XML… doesn’t seem like it’d be that hard…I know in Rails you get JSON views for free, but I don’t know how it works in Wordpress (which is what Patchstorage uses)…

1 Like

:slight_smile:

this API thing would change everything… do you know if it has been done since…?

sadly i don’t know how to use Python, so i wouldn’t be able to do it, but i knew i wasn’t making it the best way possible and i took the risk to do it anyway, now the list is completed (±280 patches, doesn’t include Orac and modules yet) and there are categories.

i can see a good point by making it the way i did : it’s not depending on the website (so it’s 100% customizable), in fact we can add almost anything from anywhere : patches, modules, PD objects, samples, …

the bad point is having to update the menu manually (only once in a month if i store it on Patchstorage , it could be unlimited using something else like Sourceforge ), so i don’t know what’s the best way to publish it yet.

:v:

I’m pretty sure they’ve had the Json api for quite a while, as I was talking to them about it for axoloti.
It was pretty straightforward as far as I remember.

You could ping them on their discord server, or alternatively ask over blokas , as it’s the same guys :slight_smile:

1 Like

that’s good to know, thanks!

what i’m gonna do is take some time to think about it and try to look at Python first, to eventually know what i’m talking about if i contact them, because for now i have no idea where i did get myself in :sweat_smile: (it was a good idea to release a beta first)

at least this beta2 can already be useful, i’ve been able to discover more and (re)download faster with this menu, so i’ll leave it available here until better is released.

i’ll post news here (if anyone wants to take care of this project faster, feel free, please do and let me know too!)

yeah python is a good language for this kind of stuff, and you will see we’ve used it for many of this system menus… (which means there are some utility classes for handling menus)

all thats said… im not sure the organelles screen is the best place for this - its pretty small.

by definition, to install/updates patches you need to be connected to a network (wifi/internet) ,
at which point, I think perhaps this would be better done via the organelle’s web browser.
a web browser could show much more information. perhaps even as an extension to the ‘patch manager’?

ideally, there are however, a couple of things that really would need to be addressed.
currently, a patch has no idea where it came from… and just using the ‘name’ is a bad idea(*).

ideally, what we would do is…
then installing via the web interface, also store a reference to its source (e.g. patchstorage url), ideally in the patch directory (so rename/save new works)
unfortunately there is one small ‘issue’ with this, the ‘system’ utilities move the patch from /Patches to /System so that is not going to work.
probably the best way around this is for there to be a new install_package.sh (install_web_package.sh) which is used by the web browser, so the web app uses this, and it can take a url for source.

I think this functionality from the web-browser would really ‘harden’ the UX over wifi, it would make it a natural way to install things. (**)

btw: I think if we do this, we should also clearly credit patchstorage.com on the web app, credit where credit is due :slight_smile:

thoughts?

(*) users can rename patches, and they can also use ‘save new’
(**) I’m starting to feel, we should leverage the web apps more, to perhaps cleanup the organelle main menu - by really considering, what is essential to do on the organelle unconnected, and what can be done whilst connected… rather than complicating the UX on the organelle itself
(e.g. I love that wifi network setup is in the web-app)

1 Like