Page 5 of 8

Posted: Wed Apr 28, 2010 5:57 pm
by Mudo
...

It has any specific library maybe? I'm wondering the possibility of take audio buffer directly inside Ms. Pinky patch and then scratch it.


...

Posted: Wed Apr 28, 2010 6:18 pm
by JuanSOLO
QUESTION...

So how many tracks are you guys loading into Ableton using this Pinky Patch and the highlighted method?


When things move slow in Ableton is it due to the Pinky Patch trying to load up all of the songs in the File Path?

Posted: Wed Apr 28, 2010 6:54 pm
by JuanSOLO
There's got to be a better way to browse tracks.

hmmmmm :idea:

Posted: Wed Apr 28, 2010 7:46 pm
by Mudo
...

I use a lot of clips but I still not make a large session and vinyl control... What kind of test do you need JuanSolo?

I want to help in any way...


...

Posted: Wed Apr 28, 2010 11:35 pm
by JuanSOLO
I'm not really sure where to begin with this. I am guessing what slows it down is having 2 instances of Pinky. I am guessing when I switch tracks it is trying to reload the umenus on each instance, causing it to slow down?

Posted: Thu Apr 29, 2010 1:27 am
by JuanSOLO
So I deleted all of the umenus and get a much faster response from Ableton, but now I have lost my waveforms.

hmmm

Posted: Thu Apr 29, 2010 4:11 pm
by JuanSOLO
OK so I've made some killer progress in customizing my Pinky patch.

Now I'f I could only figure out how Bento made a Drop Cue button etc...

Posted: Thu Apr 29, 2010 6:21 pm
by JuanSOLO
So after a few hours of rehearsing with this new Pinky set up, I am confident about Ms Pinky's ability.

Ms. Pinky is definitely the way forwards. In the middle of trying to set up Live to use Pinky with 2 decks for a gig on Saturday, I felt like it wasn't going to work. I switched back to Traktor briefly :?. Missing the possibilities I created with Pinky and Ableton, I gave it another stab, and now I am LOVING the Pinky Ableton COMBO!!!

With M4L and Live hopefully making future improvements and more accessible stuff, I can't imagine a need for any other DVS. :D

Still trying to figure out Drop Cue's and other features, but there's no turning back now.

Posted: Fri Apr 30, 2010 10:01 am
by Mudo
...

Yeah!


...

Posted: Wed May 05, 2010 3:02 pm
by BentoSan
Creating a drop cue function is reaaaaaaaaaaaly easy, you will kick yourself with how easy it is to make.

Earlier in this thread we were talking about how to track the position of the song with a number between 0.00000 -> 1.00000

All you need to do is feed that into the right inlet of a message object, then feed a bang into the left hand side of the object with a button. Feed the message box outlet into the right hand of another message box and attach another button object to the left input of that second message object. Now attach the outlet of the second message object to a "prepend cue" object, then feed that into the the input of the ms pinky object.

The first button drops the cue point, the second button is used to jump back to that cue point.

The problem though is if you want to store that cue point into any of the cue point slots, you can only store it into the last cue point you selected. Thats why i recreated the whole cue point and loop point storage system , so that i could save cue point data into any cue point slot without having to trigger the slot before storing it into that slot.

And yeah... hang in there guys i have not given up on working on this patch despite the fact that you guys have not heard from me in a while.

Posted: Wed May 05, 2010 5:29 pm
by Mudo
...

I understand it but we are waiting almost pics!

;)

...

Posted: Fri May 07, 2010 6:17 am
by BentoSan
Copy paste this into a max patch and you will get the idea of how to intergrate it into the patch.

Edit: i should not that this only works in relative mode and NOT in absolute mode. Relative mode is the future anyway, so stick with it :)

Code: Select all

{
	"boxes" : [ 		{
			"box" : 			{
				"maxclass" : "comment",
				"text" : "Cue Play",
				"id" : "obj-9",
				"numinlets" : 1,
				"patching_rect" : [ 172.0, 471.0, 51.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 0,
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "comment",
				"text" : "Cue Drop",
				"id" : "obj-7",
				"numinlets" : 1,
				"patching_rect" : [ 172.0, 415.0, 54.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 0,
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "button",
				"id" : "obj-6",
				"numinlets" : 1,
				"patching_rect" : [ 231.0, 471.0, 20.0, 20.0 ],
				"numoutlets" : 1,
				"outlettype" : [ "bang" ]
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "button",
				"id" : "obj-4",
				"numinlets" : 1,
				"patching_rect" : [ 231.0, 415.0, 20.0, 20.0 ],
				"numoutlets" : 1,
				"outlettype" : [ "bang" ]
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "prepend cue",
				"id" : "obj-3",
				"numinlets" : 1,
				"patching_rect" : [ 270.0, 522.0, 100.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "message",
				"id" : "obj-2",
				"numinlets" : 2,
				"patching_rect" : [ 270.0, 490.0, 50.0, 16.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "message",
				"text" : "0.",
				"id" : "obj-1",
				"numinlets" : 2,
				"patching_rect" : [ 269.0, 452.0, 50.0, 16.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "- 0.",
				"id" : "obj-327",
				"numinlets" : 2,
				"patching_rect" : [ 300.0, 416.0, 100.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "float" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "t f i",
				"id" : "obj-324",
				"numinlets" : 1,
				"patching_rect" : [ 300.0, 397.0, 100.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 2,
				"outlettype" : [ "float", "int" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "if $f1>0 then $f1",
				"id" : "obj-321",
				"numinlets" : 1,
				"patching_rect" : [ 300.0, 378.0, 100.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "snapshot~ 1",
				"id" : "obj-288",
				"numinlets" : 2,
				"patching_rect" : [ 300.0, 321.0, 71.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "float" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "expr $f1*11.60997732426/$f2",
				"linecount" : 2,
				"id" : "obj-320",
				"numinlets" : 2,
				"patching_rect" : [ 300.0, 348.0, 119.0, 29.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 1,
				"outlettype" : [ "" ],
				"fontsize" : 10.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"text" : "route msec_time duration msec_duration msec_remainder file_type bitrate vinyl_metric vinyl_position read",
				"id" : "obj-173",
				"numinlets" : 1,
				"patching_rect" : [ 436.0, 323.0, 775.0, 19.0 ],
				"fontname" : "Sans Serif",
				"numoutlets" : 10,
				"outlettype" : [ "", "", "", "", "", "", "", "", "", "" ],
				"fontsize" : 11.0
			}

		}
, 		{
			"box" : 			{
				"maxclass" : "newobj",
				"varname" : "mptcfs_sa~",
				"text" : "mptcfs_sa~",
				"id" : "obj-5",
				"numinlets" : 7,
				"patching_rect" : [ 30.0, 301.0, 424.0, 18.0 ],
				"fontname" : "Arial Bold",
				"numoutlets" : 7,
				"outlettype" : [ "signal", "signal", "signal", "signal", "signal", "list", "list" ],
				"fontsize" : 10.0
			}

		}
 ],
	"lines" : [ 		{
			"patchline" : 			{
				"source" : [ "obj-3", 0 ],
				"destination" : [ "obj-5", 0 ],
				"hidden" : 0,
				"midpoints" : [ 279.5, 551.0, 5.0, 551.0, 5.0, 278.0, 39.5, 278.0 ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-6", 0 ],
				"destination" : [ "obj-2", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-4", 0 ],
				"destination" : [ "obj-1", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-2", 0 ],
				"destination" : [ "obj-3", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-1", 0 ],
				"destination" : [ "obj-2", 1 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-327", 0 ],
				"destination" : [ "obj-1", 1 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-173", 2 ],
				"destination" : [ "obj-320", 1 ],
				"hidden" : 0,
				"midpoints" : [ 613.5, 345.0, 409.5, 345.0 ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-320", 0 ],
				"destination" : [ "obj-321", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-288", 0 ],
				"destination" : [ "obj-320", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-5", 4 ],
				"destination" : [ "obj-288", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-5", 6 ],
				"destination" : [ "obj-173", 0 ],
				"hidden" : 1,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-324", 0 ],
				"destination" : [ "obj-327", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-324", 1 ],
				"destination" : [ "obj-327", 1 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
, 		{
			"patchline" : 			{
				"source" : [ "obj-321", 0 ],
				"destination" : [ "obj-324", 0 ],
				"hidden" : 0,
				"midpoints" : [  ]
			}

		}
 ]
}

Posted: Sun May 16, 2010 6:58 am
by manic
Relative mode is the future anyway, so stick with it
Not true for me.

I find relative mode looses positioning when fast back cueing. So any marker on the vinyl becomes useless. I understand that this is unavoidable when using relative mode.

So for me ABSOLUTE MODE is the only way I can perform using pinky.

But I have a problem!

I want to be able to use cue points with absolute mode. Nuts right?

I figure there needs to be a SUPER ABSOLUTE MODE, or something that uses the timecode for positioning but allows you to move the position of the audio track on the vinyl.

So when you hit a cue point in SUPER ABSOLUTE MODE your audio file would move so that the cue point is in the current position of the needle on the record.

I suppose its a case of MATHS on the position code. When you hit the CUE it reads the vinyls current position and the cue points position. It then +/- the difference from the incoming timecode as a kind of playback offset.

Sound like it would work? Perhaps I should start a new thread for this?

I had a look at the MAX/MSP patch and its beyond my understanding. If any one can implement this it would be MASSIVE! For me at least :)

Posted: Sun May 16, 2010 8:02 am
by BentoSan
Thought about using a midi controller for better jumping around of the playhead in relative mode ?

Posted: Sun May 16, 2010 9:03 pm
by JuanSOLO
So I have some questions about improvement.

My number one issue is when loading a track using the "highlighted clip - bento button" method, the other deck will have a slight glitch 90% of the time. Like a tiny needle skip. Any ideas on how to fix this?

Also as in the above post, when back cueing fast in absolute mode, the position may change. Is there a way to fix that issue?


Thanks Bento for the info on cue dropping.