Maxi-Patch Rebuild - mptcfs~ mptcfs_sa~ mpfs~ mptc~ ???

For topics related to using MsPinky inside the Max/MSP graphical programming environment
Post Reply
hm
Posts:13
Joined:Tue Jun 19, 2007 2:13 pm
Maxi-Patch Rebuild - mptcfs~ mptcfs_sa~ mpfs~ mptc~ ???

Post by hm » Tue Aug 19, 2008 4:51 pm

i'm trying to rebuild maxi-patch but i'm confused by which objects I should/shouldn't be using.

I followed dlpinkstah's advice in the post http://www.mspinky.com/phpBB2/viewtopic.php?t=586 but I can't figure out where to patch in the FileSelectionPatch_QT.mxb? It says to output to mpfs~ but the object in the FileScratchPatch_MPTCFS is mptcfs_sa~.

i've been using the older patches since the .maxpat wont work with 4.6, and i've also tried using the MsPinky_absolute_mode patch from the work in progress folder, which has mpfs~ and mptc~ objects...

some help understanding the difference between all these objects would be most useful.

I'm running max 4.6 on a macbook pro.
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Re: Maxi-Patch Rebuild - mptcfs~ mptcfs_sa~ mpfs~ mptc~ ???

Post by dlpinkstah » Tue Aug 19, 2008 11:13 pm

hm wrote:i'm trying to rebuild maxi-patch but i'm confused by which objects I should/shouldn't be using.
The only object you'll need is mptcfs~ (equivalent to mptcfs_sa~). This object contains all the Ms Pinky vinyl tracking and audio file scratching code.
hm wrote: I followed dlpinkstah's advice in the post http://www.mspinky.com/phpBB2/viewtopic.php?t=586 but I can't figure out where to patch in the FileSelectionPatch_QT.mxb? It says to output to mpfs~ but the object in the FileScratchPatch_MPTCFS is mptcfs_sa~.

The comment "output to mpfs~" is out-of-date. Should say "to mptcfs_sa~".
hm wrote: i've been using the older patches since the .maxpat wont work with 4.6, and i've also tried using the MsPinky_absolute_mode patch from the work in progress folder, which has mpfs~ and mptc~ objects...
Sorry for the confusion, but the MsPinky_absolute_mode patch is now obsolete. The patch to use for reference is called MsPinky_MPTCFS. It shows you all the inputs, outputs, and messages to pass to and receive from the object in order to implement vinyl-controlled audio file scratching, or simply to feed the vinyl velocity, power, and absolute position control information into the max/msp environment.
hm wrote: some help understanding the difference between all these objects would be most useful.

In the beginning there was only mpft~ and it only tracked vinyl velocity and direction. It had no absolute position tracking. Then Ms Pinky created mpfs~ which could play .aiff and .wav files under control of mpft~. Once Ms Pinky had sufficiently refined her absolute position tracking algorithms, those were wrapped up into the mptc~ object, which when connected to the mpfs~ could implement absolute position control (vinyl needle-drop) of audio files. Ms Pinky then decided to combine all her code into one neat and easy-to-use object called mptcfs~ (because it combines elements of mptc~ with mpfs~). Since that time, no real need for the separate objects mpft~, mptc~ and mpfs~ has been found and so from this time forth Ms Pinky declares that only the mptcfs~ (equivalently mptcfs_sa~) object should be used for vinyl tracking and audio file scratching inside the Max/MSP environment when using her vinyl. Hope that makes sense.
hm
Posts:13
Joined:Tue Jun 19, 2007 2:13 pm

Post by hm » Wed Aug 20, 2008 3:09 pm

Thank you for clarifying. It might be an idea to include this information in the readme file to prevent you having to reiterate in future?

I have a few more queries however...

I hooked up the outputs 'vinyl velocity' and 'position values' from mptcfs_sa~ in FileScratchPatch.mxb to the inputs 'rate signal' and 'vinyl position signal' in QTMovie_Control.mxb. From what I've gathered this should allow me to scratch video using vinyl?

The next step was to load a video file to scratch so I tried patching in FileSelectionPatch_QT.mxb, however, I'm unsure of exactly where to patch into the mptcfs_sa~ object?

I've scoured the forums and from the scraps I've picked up on rebuilding maxi-patch it sounds pretty straight forward, however, in practice it's difficult. It would be good to know if i'm on the right lines or missing the point completely?
hm
Posts:13
Joined:Tue Jun 19, 2007 2:13 pm

Post by hm » Thu Aug 21, 2008 2:40 pm

Do I need to implement some kind of scaling in order for the external patches to work with the mptcfs~ / mptcfs_sa~ objects? I could do with a gentle nudge in the right direction.
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm

Post by dlpinkstah » Sat Aug 23, 2008 1:05 am

Here's something you probably already read about scratching a QT movie with Maxi-Patch:

http://www.mspinky.com/phpBB2/viewtopic.php?t=535

As it stands, you pretty much have to export the movie's soundtrack and then scratch that separately using mptcfs~.

The QTMovie_Control patch shows you what you need to do. Observe all the messages that get passed when you select "sync to audio file" from the pop-up control menu. You basically have to stop the jit.qt.movie object from playing, then send the "file_position_out 1" message to mptcfs~ so that it outputs the actual audio file playback position (rather than vinyl position). This causes mptcfs~ to then start outputting file position values, which are then fed back into the QTMovie_Control patch and used to cue up the movie to the frame that matches the current audio file playback point. It is important to note that the jit.qt.movie object is NOT "playing". It's just cueing up successive individual frames and displaying them.

I would highly recommend that you not try to use the entire patches as found in maxi-patch. Instead, create the simplest possible patch that will do what you need it to do. In particular, don't bother using FileSelectionPatch_XXX. Instead just use a dropfile object to open the files you want to use. All you really need besides that is jit.qt.movie, mptcfs~, a jit.window or pwindow, a couple of audio ins and outs, and a few odds & ends.
Post Reply