Add crossfader into M4L device?

For topics related to using MsPinky inside the Max/MSP graphical programming environment
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Add crossfader into M4L device?

Postby elgrayso » Thu Mar 05, 2015 9:44 pm

I want to add a crossfader to the Ms Pinky device, but I'm not sure how to do it. I've never edited anything in Max before.

I was able to open the "Audio_Crossfader.maxpat" file, and opened “MsPinky_M4L_AudioFX.amxd” and got it in its editable view.
I figured out how to change from presentation view to patching mode and copied the crossfader stuff into the amxd file.
I managed to get the crossfader inside of the max device in live, but it doesn’t seem to do anything, probably because you have to connect it to the right things. The whole pinky device looks very complicated and I have no idea how to do this.

I've had some correspondence with the Ms Pinky creator and he said he would try to give me some pointers on how to do this. He said that copying the whole crossfader is overkill, as all I need is a simple volume control with a curve (sharpness) control.
He pointed me to the cycling74 website tutorials but that portion of the website does not seem to be working as of this writing (can't post a link on the forum yet)

He also suggested I start a forum thread on the issue, so here I am. Any help would be much appreciated :-)
dlpinkstah
Site Admin
Posts: 1093
Joined: Mon Jun 07, 2004 9:17 pm

Postby dlpinkstah » Sat Mar 07, 2015 9:33 pm

Below is a patch showing how to use the live.slider object to implement a simple non-linear crossfader. To open this patch in Max, copy all the text below and then in Max select File-->New From Clipboard. The comments in the patch give hints on how to use it.

Code: Select all

{
   "boxes" : [       {
         "box" :          {
            "maxclass" : "flonum",
            "patching_rect" : [ 110.0, 352.0, 50.0, 20.0 ],
            "numoutlets" : 2,
            "parameter_enable" : 0,
            "outlettype" : [ "float", "bang" ],
            "fontsize" : 12.0,
            "id" : "obj-12",
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "volume level output: connect this to the \"output gain\" (7th) inlet of mptcfs_sa~ to control the playback volume level",
            "linecount" : 3,
            "patching_rect" : [ 170.0, 355.0, 280.0, 47.0 ],
            "numoutlets" : 0,
            "fontsize" : 12.0,
            "id" : "obj-10",
            "frgb" : 0.0,
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "here's a simple non-linear crossfader control with adjustable sharpness.  The output below is a volume level between 0.00 and 1.0 that can be applied to the volume level input of the mptcfs_sa~ object ",
            "linecount" : 3,
            "patching_rect" : [ 55.0, 16.0, 474.0, 47.0 ],
            "numoutlets" : 0,
            "fontsize" : 12.0,
            "id" : "obj-9",
            "frgb" : 0.0,
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "volume level\n",
            "patching_rect" : [ 46.0, 84.0, 76.0, 20.0 ],
            "numoutlets" : 0,
            "fontsize" : 12.0,
            "id" : "obj-7",
            "frgb" : 0.0,
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "live.slider",
            "varname" : "volume_level_slider",
            "patching_rect" : [ 55.0, 110.0, 39.0, 95.0 ],
            "numoutlets" : 2,
            "parameter_enable" : 1,
            "outlettype" : [ "", "float" ],
            "id" : "obj-6",
            "numinlets" : 1,
            "saved_attribute_attributes" :             {
               "valueof" :                {
                  "parameter_linknames" : 1,
                  "parameter_longname" : "volume_level_slider",
                  "parameter_shortname" : "volume_level",
                  "parameter_type" : 0,
                  "parameter_unitstyle" : 0
               }

            }

         }

      }
,       {
         "box" :          {
            "maxclass" : "number",
            "patching_rect" : [ 83.0, 264.0, 28.0, 17.0 ],
            "maximum" : 10,
            "minimum" : -70,
            "presentation" : 1,
            "numoutlets" : 2,
            "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ],
            "cantchange" : 1,
            "parameter_enable" : 0,
            "presentation_rect" : [ 86.0, 193.0, 22.0, 17.0 ],
            "outlettype" : [ "int", "bang" ],
            "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ],
            "fontsize" : 9.160198,
            "triangle" : 0,
            "id" : "obj-186",
            "fontname" : "Sans Serif",
            "numinlets" : 1,
            "triscale" : 0.9
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "p dBtolin",
            "patching_rect" : [ 55.0, 235.0, 47.0, 17.0 ],
            "numoutlets" : 2,
            "outlettype" : [ "", "float" ],
            "fontsize" : 9.160198,
            "id" : "obj-216",
            "fontname" : "Sans Serif",
            "numinlets" : 1,
            "patcher" :             {
               "fileversion" : 1,
               "appversion" :                {
                  "major" : 6,
                  "minor" : 1,
                  "revision" : 7,
                  "architecture" : "x64"
               }
,
               "rect" : [ 40.0, 55.0, 400.0, 326.0 ],
               "bglocked" : 0,
               "openinpresentation" : 0,
               "default_fontsize" : 10.0,
               "default_fontface" : 0,
               "default_fontname" : "Arial",
               "gridonopen" : 0,
               "gridsize" : [ 15.0, 15.0 ],
               "gridsnaponopen" : 0,
               "statusbarvisible" : 2,
               "toolbarvisible" : 1,
               "boxanimatetime" : 200,
               "imprint" : 0,
               "enablehscroll" : 1,
               "enablevscroll" : 1,
               "devicewidth" : 0.0,
               "description" : "",
               "digest" : "",
               "tags" : "",
               "boxes" : [                   {
                     "box" :                      {
                        "maxclass" : "newobj",
                        "text" : "t f f",
                        "patching_rect" : [ 25.0, 112.0, 50.0, 17.0 ],
                        "numoutlets" : 2,
                        "outlettype" : [ "float", "float" ],
                        "fontsize" : 9.160198,
                        "id" : "obj-1",
                        "fontname" : "Sans Serif",
                        "numinlets" : 1
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "outlet",
                        "patching_rect" : [ 167.0, 170.0, 15.0, 15.0 ],
                        "numoutlets" : 0,
                        "id" : "obj-2",
                        "numinlets" : 1,
                        "comment" : "dB value out"
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "newobj",
                        "text" : "- 60.",
                        "patching_rect" : [ 25.0, 92.0, 50.0, 17.0 ],
                        "numoutlets" : 1,
                        "outlettype" : [ "float" ],
                        "fontsize" : 9.160198,
                        "id" : "obj-3",
                        "fontname" : "Sans Serif",
                        "numinlets" : 2
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "newobj",
                        "text" : "* 70.",
                        "patching_rect" : [ 25.0, 71.0, 50.0, 17.0 ],
                        "numoutlets" : 1,
                        "outlettype" : [ "float" ],
                        "fontsize" : 9.160198,
                        "id" : "obj-4",
                        "fontname" : "Sans Serif",
                        "numinlets" : 2
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "newobj",
                        "text" : "/ 127.",
                        "patching_rect" : [ 25.0, 50.0, 50.0, 17.0 ],
                        "numoutlets" : 1,
                        "outlettype" : [ "float" ],
                        "fontsize" : 9.160198,
                        "id" : "obj-5",
                        "fontname" : "Sans Serif",
                        "numinlets" : 2
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "newobj",
                        "text" : "expr pow(10.\\,$f1/20.)",
                        "patching_rect" : [ 25.0, 147.0, 121.0, 17.0 ],
                        "numoutlets" : 1,
                        "outlettype" : [ "" ],
                        "fontsize" : 9.160198,
                        "id" : "obj-6",
                        "fontname" : "Sans Serif",
                        "numinlets" : 1
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "outlet",
                        "patching_rect" : [ 25.0, 171.0, 15.0, 15.0 ],
                        "numoutlets" : 0,
                        "id" : "obj-7",
                        "numinlets" : 1,
                        "comment" : "linear value out"
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "inlet",
                        "patching_rect" : [ 25.0, 30.0, 15.0, 15.0 ],
                        "numoutlets" : 1,
                        "outlettype" : [ "" ],
                        "id" : "obj-8",
                        "numinlets" : 0,
                        "comment" : ""
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "comment",
                        "text" : "dB to linear conversion",
                        "patching_rect" : [ 33.0, 133.0, 120.0, 17.0 ],
                        "numoutlets" : 0,
                        "fontsize" : 9.160198,
                        "id" : "obj-9",
                        "frgb" : 0.0,
                        "fontname" : "Sans Serif",
                        "numinlets" : 1
                     }

                  }
,                   {
                     "box" :                      {
                        "maxclass" : "comment",
                        "text" : "convert slider range [0.. 127] to -60 to + 10 dB",
                        "patching_rect" : [ 122.0, 38.0, 224.0, 17.0 ],
                        "numoutlets" : 0,
                        "fontsize" : 9.160198,
                        "id" : "obj-10",
                        "frgb" : 0.0,
                        "fontname" : "Sans Serif",
                        "numinlets" : 1
                     }

                  }
 ],
               "lines" : [                   {
                     "patchline" :                      {
                        "source" : [ "obj-8", 0 ],
                        "destination" : [ "obj-5", 0 ],
                        "hidden" : 0,
                        "disabled" : 0
                     }

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

                  }
,                   {
                     "patchline" :                      {
                        "source" : [ "obj-4", 0 ],
                        "destination" : [ "obj-3", 0 ],
                        "hidden" : 0,
                        "disabled" : 0
                     }

                  }
,                   {
                     "patchline" :                      {
                        "source" : [ "obj-3", 0 ],
                        "destination" : [ "obj-1", 0 ],
                        "hidden" : 0,
                        "disabled" : 0
                     }

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

                  }
,                   {
                     "patchline" :                      {
                        "source" : [ "obj-6", 0 ],
                        "destination" : [ "obj-7", 0 ],
                        "hidden" : 0,
                        "disabled" : 0
                     }

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

                  }
 ]
            }
,
            "saved_object_attributes" :             {
               "default_fontface" : 0,
               "default_fontname" : "Arial",
               "default_fontsize" : 10.0,
               "description" : "",
               "digest" : "",
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 10.0,
               "globalpatchername" : "",
               "tags" : ""
            }

         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "t b f",
            "patching_rect" : [ 321.0, 208.0, 32.5, 18.0 ],
            "numoutlets" : 2,
            "outlettype" : [ "bang", "float" ],
            "fontsize" : 10.0,
            "id" : "obj-63",
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "expr \"pow($f1/127.0, 1.0/(($f2/10.) + 1.0))\"",
            "patching_rect" : [ 199.0, 252.0, 178.0, 17.0 ],
            "numoutlets" : 1,
            "outlettype" : [ "" ],
            "fontsize" : 9.0,
            "id" : "obj-20",
            "fontname" : "Arial",
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "t b f",
            "patching_rect" : [ 199.0, 274.0, 32.0, 17.0 ],
            "numoutlets" : 2,
            "outlettype" : [ "bang", "float" ],
            "fontsize" : 9.0,
            "id" : "obj-5",
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "expr 127 - $i1",
            "patching_rect" : [ 200.0, 208.0, 66.0, 17.0 ],
            "numoutlets" : 1,
            "outlettype" : [ "" ],
            "fontsize" : 9.0,
            "id" : "obj-24",
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "* 2.",
            "patching_rect" : [ 131.0, 311.0, 30.0, 17.0 ],
            "numoutlets" : 1,
            "outlettype" : [ "float" ],
            "fontsize" : 9.0,
            "id" : "obj-11",
            "fontname" : "Arial",
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "gradual <--> sharp",
            "patching_rect" : [ 377.0, 84.0, 121.0, 20.0 ],
            "numoutlets" : 0,
            "fontsize" : 12.0,
            "id" : "obj-4",
            "frgb" : 0.0,
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "live.slider",
            "varname" : "sharpness_control",
            "patching_rect" : [ 377.0, 110.0, 121.0, 40.0 ],
            "numoutlets" : 2,
            "parameter_enable" : 1,
            "presentation_rect" : [ 15.0, 15.0, 50.0, 40.0 ],
            "outlettype" : [ "", "float" ],
            "orientation" : 1,
            "id" : "obj-3",
            "numinlets" : 1,
            "saved_attribute_attributes" :             {
               "valueof" :                {
                  "parameter_linknames" : 1,
                  "parameter_longname" : "sharpness_control",
                  "parameter_shortname" : "sharpness",
                  "parameter_type" : 0,
                  "parameter_unitstyle" : 0
               }

            }

         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "crossfader\n",
            "patching_rect" : [ 200.0, 84.0, 106.0, 20.0 ],
            "numoutlets" : 0,
            "fontsize" : 12.0,
            "id" : "obj-2",
            "frgb" : 0.0,
            "fontname" : "Arial",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "live.slider",
            "varname" : "crossfader_slider",
            "patching_rect" : [ 200.0, 110.0, 121.0, 40.0 ],
            "numoutlets" : 2,
            "parameter_enable" : 1,
            "presentation_rect" : [ 0.0, 0.0, 50.0, 40.0 ],
            "outlettype" : [ "", "float" ],
            "orientation" : 1,
            "id" : "obj-74",
            "numinlets" : 1,
            "saved_attribute_attributes" :             {
               "valueof" :                {
                  "parameter_linknames" : 1,
                  "parameter_longname" : "crossfader_slider",
                  "parameter_shortname" : "crossfader",
                  "parameter_type" : 0,
                  "parameter_unitstyle" : 0
               }

            }

         }

      }
 ],
   "lines" : [       {
         "patchline" :          {
            "source" : [ "obj-11", 0 ],
            "destination" : [ "obj-12", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-216", 0 ],
            "destination" : [ "obj-11", 0 ],
            "hidden" : 0,
            "midpoints" : [ 64.5, 306.0, 140.5, 306.0 ],
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-6", 0 ],
            "destination" : [ "obj-216", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-216", 1 ],
            "destination" : [ "obj-186", 0 ],
            "hidden" : 1,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-63", 1 ],
            "destination" : [ "obj-20", 1 ],
            "hidden" : 0,
            "midpoints" : [ 344.0, 237.0, 367.5, 237.0 ],
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-63", 0 ],
            "destination" : [ "obj-20", 0 ],
            "hidden" : 0,
            "midpoints" : [ 330.5, 237.0, 208.5, 237.0 ],
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-3", 0 ],
            "destination" : [ "obj-63", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-74", 0 ],
            "destination" : [ "obj-24", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-24", 0 ],
            "destination" : [ "obj-20", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-20", 0 ],
            "destination" : [ "obj-5", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-5", 1 ],
            "destination" : [ "obj-11", 1 ],
            "hidden" : 0,
            "midpoints" : [ 221.5, 301.0, 151.5, 301.0 ],
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-5", 0 ],
            "destination" : [ "obj-11", 0 ],
            "hidden" : 0,
            "midpoints" : [ 208.5, 301.0, 140.5, 301.0 ],
            "disabled" : 0
         }

      }
 ],
   "appversion" :    {
      "major" : 6,
      "minor" : 1,
      "revision" : 7,
      "architecture" : "x64"
   }

}
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Sun Mar 08, 2015 12:59 am

the tutorial page started working again but they seemed much more advanced for what I know about editing (which is nothing).
Last edited by elgrayso on Sun Mar 08, 2015 4:02 am, edited 1 time in total.
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Sun Mar 08, 2015 1:03 am

obligatory post # 3
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Sun Mar 08, 2015 3:29 am

Ok I am getting closer!

I added your code to the pinky device and connected your volume slider setup to the mptcfs output gain.

Image
Image

Afterwards I wasn't able to get any sound out of the pinky device, even though the levels on the right side were showing they had audio, the sound wasnt getting into the ableton track.
Also the only thing that changed, visually, was it added a little gray box on the side of the device. I wasn't able to midi map it to anything or input text numbers into it.

Image


I noticed the little red boxes in the editor seem to determine what will show up visually on the device in ableton. I think it would be good to see your crossfader and sharpness meters in the device, and then map the tracktor z1 to the crossfader.
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Sun Mar 08, 2015 7:55 pm

also, it turns out that just because I own M4L, I dont actually own Max (I found out by asking on the ableton forums https://forum.ableton.com/viewtopic.php?f=35&t=214114&p=1653446#p1653446 ,
so i am only able to use the demo for another 12 days or so.

fingers crossed I will be able to get my crossfader into Ms Pinky before my demo expires :-p
dlpinkstah
Site Admin
Posts: 1093
Joined: Mon Jun 07, 2004 9:17 pm

Postby dlpinkstah » Sun Mar 08, 2015 9:14 pm

Set the "volume level" slider on the left of the patch I posted here to something close to it's top value. In the screenshot you posted it is set to 0. Otherwise it will mute the output of mptcts_sa~ and you won't hear anything. Also you need to select each live.slider object and include it in the presentation (go under Object-->Add to Presentation).

And there really is not getting around doing the basic patching tutorials. You need those basic patching skills otherwise you're lost.
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Mon Mar 09, 2015 12:34 am

Image

nice I have it controllable!
would it be easy to make a hampster switch? right now audio cuts off if the fader is all the way to the right, but I would prefer if audio would cut off if it is all the way to the left (ie: 0 = cutoff and not 127 = cutoff).
i dug around and changed a "127" to a "0" as an attempt, but this just broke it so i changed it back.

also, what is that gray square that you put into presentation mode? im not sure what it does...

[/img]
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Mon Mar 09, 2015 12:43 am

one thing I noticed is that these faders are cutting off the actual audio to the ableton track. It would be cool if the audio got recorded, but something prevented it from being heard.
For example, when I setup the crossfader to effect an EQ that turned off all the signal. What this did is, even though it still had the audio available, allow me to make cuts in an editable automation lane.
The benefit is that you can go back and adjust your cuts however you want, or duplicate a scratch hand movement but put it over different audio! Cool things like that. It would also fit in line with us users that love ableton's "non-destructive" workflow.

A second, but less important, idea is having the ableton automation lane visually represent the cuts you are doing. For example, if you set the crossfader curve to make complete hard cuts it would look like this in ableton:

Image

so ms pinky would basically say "oh he's doing the equivalent of 127 full volume, to the equivalent of 0 no volume, I will represent that in the automation lane"
instead of showing a cut of "0-1" in the automation lane, which is near impossible to visualize because its so tiny.

I'm not sure if this is possible to do in Max though.

also, I guess I didnt word it properly, but I didnt mean to say i wasnt going to watch the tutorials, I meant that I couldnt find the basic ones on their tutorial page. They were all super advanced.
However, I am less inclined to spend a ton of time learning it now that I found out I only have a few days left to use the software in the first place :-/
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Mon Mar 09, 2015 3:45 am

I was thinking about how to have that automated editable lane (as opposed to audio cut directly) and I looked on the M4L devices people made and found a simple fader. but the only way I was able to get it to work was to create a second audio track that the pinky track sends audio to.

but then I realized that this is the only way to record ms pinky in the first place, correct? (there is no way to have ms pinky record on its own track because it cannot send audio to itself)
i was hoping to have ms pinky work within just one track, but maybe it requires two.

anyways, on the second track, I was able to add this simple fader to it (http://www.maxforlive.com/library/device/653/st-cross) and then I was able to cut the sound in and out using the automation lane envelopes just like I was wanting.

Image

the only problem is that this particular fader did not have any curve sharpness control. but it DID have the hamster ability to select if it is cut by either L or R.

when I have more time I'll see if its possible to combine both faders in the max editor and have the best of both worlds.

the only problem I foresee is that ms pinky and the crossfader would be on different tracks, making it more complicated to midi map the tracktor (crossfader on one track, cue points on another, etc)
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Wed Mar 11, 2015 2:29 am

So I messed around a bit in Max and got the fader looking how I wanted.
It has the crossfader, sharpness and inversion (L or R cutoff). I named this part "Fader Style".
(i'm just working on making a crossfader device that will work on any track, but I can add it to ms pinky once its finished)

Image

I have all the pieces inside of one device, but I am just not sure which parts to connect. Also the guy who made the original fader made some area where you can make a label, I dont think I need that part.
I've put the file on my dropbox if you want to check it out, and there is an image below.

Here is the file: https://dl.dropboxusercontent.com/u/83949776/_Hosted%20IMG/St.Cross-edit.adv

Image
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Thu Mar 12, 2015 1:43 am

elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Sun Mar 15, 2015 2:50 am

i thought it would be easy to combine these two, but i guess its a lot harder than i thought.
i've just trying to attach different parts kind of grasping at straws and just break it each time :-(
elgrayso
Posts: 12
Joined: Thu Mar 05, 2015 9:19 pm

Postby elgrayso » Mon Mar 16, 2015 2:46 pm

i linked the two together now, but the sharpness fader gets a little messed up when you flip it from "R" to "L"

------------- here is the device ---------

<pre><code>
----------begin_max5_patcher----------
1585.3oc2ZtziaaCD.9r2eEpB4PR6tNjTOncQaARQuTfbJnnWRBVPKQ6koxR
FTTNaRPxu8xGR1ZWKaSaKwrsWrrnHoF9wYHmYn9xUi7mUbOsz26m8dq2nQe4
pQizEoJXT88i7WRtOIiTpqleN8iEy9f+0lGIn2KzEK7l4Muoz7pkr7LpP2BX
cgyKxEkrOS0kAFCpKlkpaurOuAE32pt4jk555+JNij0pqKpDM8MptzRwmxLU
todqHhj6X4KtkSSDlwWD.LN5Z46FIe4dAH0MHof38951X5XwmVQMMveFIeg+
0d9yyJHxN48pp80qtR8y0WFtn2uh68N+UEe74OaN7kPDVISvwfW9bYAnWJAz
K79IUAu3EuyuSth5fqS6Dq3SEqvSAqAHMIggw5K3I5QxzCw09GkR.5ci2yXP
qUA6FUSFXTEznAJuDGOTjJoX4RZtXGTsfSRqHYd+xM27adk2Q3qr2hE0EuB.
mJu.mgEajFZHnBWFC1yfIYr0zwkYrTJu4Mtlv2HxZZjSKKuMQNR3EYuE99MR
FmVJwIQvJxaymNg1JBW1mBJ+VZNYlYLB6niZMLQQpkC8BMqA.M2zdgo1DeiF
dAmsGgpiEH2ObCfsna3AWNr8RgMSij0zzaIBAmMqRP29ux5oh54BErypnEya
Jto71.Kik+OpIj177gUnHegMyXOnQk2UvE61ptpZyXEzwypxYhMJs.yy0pfM
W5IazDdQY4bhTM8c4Wn0YXvfZcVuZlw5DDOjVmagxslJ4PqSbPKiyNLSZC7n
9x3rlsA3+iZbdfIrCXbtsUeusN2iuF+32r1ULHrKSRX2lj+MkmRxI8fKFPvT
shSvjZmbUVknCo3TxjSaY8pKYBOv3KLVfvo6esKueuHKsGXEJdhIF.8Fgnns
qfsOV0+ABrfHn1qS0MpPN.USiZgpv3iipdkR+vu5AtTJAcFkfX8x1nIGmRrb
QOa4MSFznMleyIIsWM0BBFL4rHXvIQPHtsdlEljOLF8AIXcETAikbcHfJd3g
JLB7zCpkzLOnGpSjFXO9hcF9fXSBNBv1yulqmG4jNaURVP2AcOSxMvk5HR7P
6HhjZXb.FgUasNYbLRo6Ebb+Q5UsLoWqzK1mM7oiJzYipInwPaQUsqaMJZ8I
3tbOcmNvJX3Hiit3uiN5VlPxnl8FT+BFih5Daw1tGQmnDAbosZ.zXqBgHGar
l7ojrK1ZEAGZXIIRXDJJJPp1AvaSNvvo8oyNxRZdUW4FYmGNzIDw3hVjINSS
19i5NeHQGd22CrWan4LE.fc59NS7wfm7i1413w.+.Iz3fUsYLf53Yxlrrd78
W2wqTiuWq94M0JPCStGeyAcvUUsjhrBtQv.ikF.xeBU+FpO7pMv2hy5K5HNt
48mBRFKoGxSIDYTUmZzoLIxaxYlnx8gtW6PzE6LzEgGdx4RktPWqzE8+EcNj
i04hfCH39C5ZVB0aMkKXRO37xXKYhyIgk2wRSoOXS1VLa5vd5Kliknd+xABT
upJkU3IJ7dsbirAQaqSe3vNSYKVeLKgPs11D31Cju2g3bdwRGiQmuOglhSiu
HJtmXCVkUsPJce6ByB74kpbzYDWpYOynfimrnsQwO.Qnp3FK+RwFzUXKpmnl
tc5r+7nOtM8aVU9CQYYQEOooqqCcwa6aOkVJX4ahn5saORgVUZ6lAMDbIKcU
AKWTKCvXS3LXyGdAHZycaeQrRUTXoaNFyczB5yAfJ6oGb.zehi577Np7nxz1
o.Tj4iMScQsInDunlrXnJZ.nZnMXU8Uj4JrhrQd.mFVq0LQnncvppng.qPaL
2PNCqAS5Cr1yxCzF4A5N4AYi7fbi7fehMegehMegehMeEag77nsLFb44XyWA
Sbq7bzcuwtSdrY8Y0muuijGjUqO6N9fv1t+kar2ezTwYxmG4VPj4KSFZByKv
bja56F.OBzi.nMi.3ILBp+96MifvovAcDXiMi5TRckNgUxSf6jGfMxi6hPAZ
SDJtyETnUtz.c1zELtOBfqGkm.KmtbDdr0XG3LwAZis94HNljqPVsZMkWV2m
ZIweI4ClTWhuVeKK2bqtG84z0rl5qyMjOgmbGSPSDUbSBhtO1bDM9KKRo77J
lNmTWodye8p+EdQDE1.
-----------end_max5_patcher-----------
</code></pre>
Mudo
Posts: 340
Joined: Tue Jun 08, 2004 9:22 pm
Location: ...Barcelona...

Postby Mudo » Sat Mar 21, 2015 2:31 pm

...
Few hints/advices:

1- If you open live then maxforlive device and go edit mode, you will be running a more or less full maxmsp session. You could do all the tutorials and other stuff without problem. If it isn't enough the new max7 could run tutos without entering the trial mode. Later you have the trial and at last you could run a "monthly license" (new with max7). This with the addition of maxforlive runtiming without live license of new max7 is the best new from max7 to ms.p users since pluggo drop.

2- Channel or device crossfader wasn't useful like timecode signal to midi/osc conversion wasn't. These have some applications for sure but timecode signal and audio signal (cuts) are useful in audio realm. Let me explain it a bit.

The resolution of actual "protocols" such midi or osc are small in comparision with the samplebased resolution so the best approarch (imho) could be record the timecode signal into host (live in this case) and make a "history" of played (recorded) tracks. Similar like Serato Mixtape was, similar to what Flip is but working with audio as data then translating it to "device" as a sampler player with extra automation bells and whistles. The same for the crossfader could be implemented as Aaron Faulstich performed in their Turntable Surgeon patch but it needs some workaround. Actual midi mixers will make it "redundant" and usual scratch xfader technics too (due these seem more a button than a true analog sensor) but doable at last.

3- Max7 opens new possibilities in audio playing (timestretching, pitchshifting and even audio2midi or vocoding). Maybe it is time to back to basics in modular formfactor. Make Ms. pinky a modular turntable controlled enviroment where you could add/drop functionality. There is no need for 2 different versions of the same effort m4l vs maxipatch since these are now "runtimed" (well runtime is over better said) by Max7 new approach.
...

Mudo means mute person.


Researching new interface paradigms
...

Return to “The Max/MSP + MsPinky = LUV Forum”

Who is online

Users browsing this forum: No registered users and 1 guest