Forums > MaxMSP

A fancier alternative to Coll?

March 16, 2014 | 5:29 pm

I’d love to find something that lets me sort lists and lists of lists and do searching, sorting, retrieval like coll, but not limited to the first thing in the list. Something that could potentially work like finder or explorer or the loop menu in garage band. Any ideas?


March 16, 2014 | 6:23 pm

your best bet is probably using java – or the mysql object.

but oyu can do most of that ussing coll, too. (say like receiving more than one ID by calling more than one ID, sequentially)


March 16, 2014 | 8:01 pm

Sqlite is ‘built in’ to max and could be useful to your purposes – I’ve used it for numerous tasks where relatively large sets of data (ie mappings, soundfiles) need to be managed and it has proved very useful. IT is is potentially way more powerful than coll but will most likely need more work on your part than coll would to harness that power. Sqlite can be accessed via javascript – (And perhaps the the mysql object to which Roman referred and/or other objects but afaik that is not a native object). In any case a site search for sqlite should yield a few examples and threads.

Then there is the dict family as well, but having established a relationship with sqlite and not really getting ‘comfortable’ with dict I haven’t used it in a practical situation…


March 16, 2014 | 8:59 pm

Thanks a lot for your advice so far guys!! I’m looking into what you’ve mentioned…

SQL looks awesome. Do you know anything about FTM and whether it too would appropriate for this, and if so how it compares to SQL(lite)?

I am new to JavaScript and as of right now have little to no coding skill, could you possibly point me in the direction of some tutorials or topics that pertain to list/menu creation and sorting? Below are my goals, if anyone has any suggestions or useful links.

Project Goals:
1 –
Easily associate tags (like hashtags on twitter or tags on soundcloud)

in various categories (like tempo, mood, style, loop length)

with a song/loop name or number.
1b- Maybe add (a) value(s) to each tag denoting its significance/priority or room for error

2-
Sort the songs/loops/numbers based on a tag category,

numerically or alphabetically or a custom order

(like sorting by name, date modified, comment, etc 
in Finder on Mac or Explorer on Win)

3- Sort/Compare them based on

their likeness to a song/loop/number

and/or its associated tags.

4- Output the most appropriate song/loop/number as a message or int when requested.

5- Count the number of times a song/loop/number has been outputted/played
and use that as a tag.

Also for those interested here are some SQL things i found,

http://cycling74.com/2008/09/05/data-collection-building-databases-using-sqlite/

https://sqlite.org/

http://www.1keydata.com/sql/sqlselect.html

http://www.w3schools.com/sql/

http://www.mysql.com/products/connector/

http://www.maxobjects.com/?v=objects&id_objet=4177&PHPSESSID=93d8c4001a9d3f4d70de3cc5cde23ca4


March 17, 2014 | 1:58 am

if you see the implementation of dicts in the bach library helpfiles it will probably give you agoo dexample of what can be done with dict : http://www.bachproject.net/
but, idk a hting about sql ; few about ftm. If you need sound analysis ftm might have supplementary things for you though.


March 18, 2014 | 1:38 pm

I don’t know about the bach version of dict (though that library is generally awesome) but the standard max version of dict will do most if not all of what you mentioned.. and it readily handles json format which is great for meta data.

Also consider the odot library (CNMAT). That entire library (specifically, the bundle data type) is incredibly powerful and flexible… so forgive the rant.. It’s obvious that most people are unaware of the unique power of that library. It’s not just useful for data flow programming in Max, it transcends many of the limitations of data flow programming itself (ex. you can name values, refer to values and/or execute expressions using those names on the fly at any point in the patch regardless of the data that is currently being received by the object. Think about that for a moment.) o.expr is like a library within a library with a huge list of functions (and a help file that is actually useful). o.explode and o.flatten handle nesting of arrays. The delimiter ‘/’ that is used to address values has meta functionality useful for organizing hierarchies, specifying paths, osc formatting, etc. And o.dict converts bundles to dictionaries so you’re not stuck in bundle land.

Ok, I’ll stop now. :)


April 9, 2014 | 9:01 pm

I finally got around to using SQL database.

I attached a UI I made so you can easily create and manipulate databases.

I have one question I can’t seem to find an answer to though: How do I get SQL to work on windows? http://cycling74.com/2008/09/05/data-collection-building-databases-using-sqlite/ works on mac but not on windows in my experience…

  • This reply was modified 6 months by  maat.
Attachments:
  1. tagger2.maxpat

April 10, 2014 | 3:30 am

Hey Maat
can you repost your tagger2 patch– it doesn’t want to download. Thanks!


June 15, 2014 | 5:44 am

Here it is, sorry I disappeared.


June 15, 2014 | 5:54 am

you’ll need to put this in the same folder.

Attachments:
  1. easyCueDatabase.js

June 16, 2014 | 3:31 am

Thanks! looks impressive


Viewing 11 posts - 1 through 11 (of 11 total)