Max Tools

Max Tools are listed below and to the left
MaxToolsMaxTools


mp.assignment

mp.assignment is a fiddly little bpatcher that allows you to connect any input device and assign it to whatever you like. Behaves in a similar way to midi learn functions in software like Ableton or Logic. Because it is tied into the pattrstorage system, the assignment can change dynamically. This means a parameter in max can be controlled by any input device and this can change during performance or if you have different input devices available on different occasions, or if you decide you don't like the mapping you originally designed, you don't need to edit the patch just make a new preset for it.

lock your patch, click on the mp.assignment bpatcher, it will go red. Move a fader, joystick or keyboard and the input device has been assigned.

Requires tinpark_alphabet.txt to work. This is included inside the .zip file below.
mp.assignment_screenshotmp.assignment_screenshot


mp.searchpath

[img_assist|nid=204|title=Application Location|desc=|link=popup|align=left|width=100|height=80] Place this code in your top level patcher to make sure that max searches all folders in your project for files. This will also search the application path of your standalone. To make sure that your standalone finds all media associated with it, you need to put the media inside the package. This code only searchs the APPLICATION path and paths below it. To get to the Application folder in a standalone on a mac, you need to open package contents, right click (control-click) on the BUILD and select SHOW PACKAGE CONTENTS. Then put media in the location shown in the image on the left.[img_assist|nid=238|title=screenshot|desc=|link=popup|align=right|width=100|height=58]

pattstorage interpolation wrapper

[img_assist|nid=166|title=interpolation wrapper|desc=download 7kb|link=url,http://www.tinpark.com/files/pattr_storage_interp_manager.zip|align=right|width=100|height=51] As it says, a wrapper for the pattrstorage object that permits managment of the interp functions of pattrstorage. Pattrstorage is queried for clients, these in turn generate three lists of clients (ints, float and list). These can each have their interp setting globally or individually changed. The reason I've divided up the clients crudely into data type is that I usually don't want to interp through ints but floats and lists I do. A better way to manage this would be to change the name of the objects when I make them - perhaps adding 'iON' to those that I would like to be part of the interpolation system and iOF to those I'd like to filter out but that would mean changing lots of objects in my patches and rewrites to presets that already exist. This code could also be adapted and used to create a similar wrapper for setting priority globally.

interpolation wrapper screenshot