Basic Garageband style sequencer

Sep 8, 2008 at 2:57pm

Basic Garageband style sequencer

Hi all,

I need to make a basic DAW/sequencer in the style of garageband.

I need to be able to drag and drop samples into the sequencer grid so they are displayed as a rectangle containing the sample waveform. I also need the rectangle to differ in size depending on the length of the sample.

Does anyone know how this can be done?

Thanks,
Chris

#39607
Sep 8, 2008 at 5:26pm

I’m not trying to discourage you but what’s the point of making something that’s already been done?

Max/MSP to me is about doing the things other music software (or hardware) can’t.

As for a proper answer, you’re going to have to do some complex interface building, so look at JSUI and maybe doing some flash stuff and linking it to Max.

#139622
Sep 8, 2008 at 5:35pm

Quote: fairesigneaumachiniste wrote on Mon, 08 September 2008 11:26
—————————————————-
> I’m not trying to discourage you but what’s the point of making something that’s already been done?
>
> Max/MSP to me is about doing the things other music software (or hardware) can’t.
>
> As for a proper answer, you’re going to have to do some complex interface building, so look at JSUI and maybe doing some flash stuff and linking it to Max.

That’s all good advice, but those basic steps – tutorials,
getting familiar with the resources in Max 5 for answering
your questions – have NO shortcuts… *especially* with what
you’re asking for.

#139623
Sep 8, 2008 at 6:43pm

scripting, but that doesn’t always look so hot. JSUI, but thats not something i really know about, which is why i’d use scripting to change the sample window length etc.

other than that, garageband :)

#139624
Sep 8, 2008 at 7:16pm

Scripting not always looking so hot in your opinion is in no way
related to scripting. It’s related to the person who does the jsui
scripting. To create anything even close to Garageband, you’ve got a
lot of work ahead of you to re-create the wheel.

> but thats not something i really know about,

and that’s what tutorials are for.

#139625
Sep 8, 2008 at 7:34pm

im not referring to jsui scripting. i meant max scripting. which can cause the screen to refresh in jolts, which doesn’t look very good.

you’re suggesting that in order to answer a post I learn javascript?

#139626
Sep 8, 2008 at 8:19pm

On 8 sept. 08, at 21:34, robin foster wrote:

> im not referring to jsui scripting. i meant max scripting. which can
> cause the screen to refresh in jolts, which doesn’t look very good.

I posted an example of drag and drop simulation within the patch using
patcher scripting a few weeks ago:

http://www.cycling74.com/forums/index.php?t=msg&rid=0&S=0337c62060f91c3ebd7ff71c38d7b37d&th=35088&goto=149699#msg_149702

Probably not easy to achieve for a whole application, but still
possible.
Good luck,
ej

#139627
Sep 8, 2008 at 8:36pm

unfortunately, i’m only on 4.6. i imagine the situation with scripting/screen refresh is probably nicer in 5. i take it all back

#139628
Sep 8, 2008 at 8:47pm

Chris Hipgrave posted the original question, and i think Robin was just trying to suggest some things and give a personalized view at the same time. All in all, everyone is probably agreeing that Chris Hipgrave is asking a very general question who’s answer can come through various methods which all take a huge amount of personalized work first(Gregory had the best advice since, all in all, if you’re asking such a general question, going all the way through every tutorial(and the examples folder) will give you a better idea of how to specify problem areas and what specific method you might choose to implement the whole thing, otherwise, you can only receive a generalized answer like “JSUI” or “scripting”). Yes, you could use JSUI, you could use LCD(waveforms might be difficult, but hey, it’s possible), you could use scripting to the thispatcher object(which would probably be the easiest since you can use the premade waveform object most readily) but either way, it’s going to take a huge amount of work to get to just a small interface that only handles sequencing viewable waveforms(you still need amplitude-envelopes, playback-parameters(speed, loop-points, etc.), mixing capabilities, master-clock, etc.). Once you figure out all these questions, you’re left with wondering why you’d bother since the real music-making will occur after you no longer need such a fancy interface altogether(in other words, nobody who makes good music that i’ve ever heard has any need for a garageband interface).

But WAIT! before you think one way or another about my post, i’m not trying to distract or disrespect anyone’s interface choices. I’m just saying, before you get bogged down by this task, go through the tutorials from start to finish and then you might just decide to create a diagram of your entire app and see that what you really want is a more wholistic approach. Like creating a general diagram showing all the modular designs you’d want: some sort of sequencer, some sort of sampler(s), some sort of effects routing, some sort of midi implementation, some sort of parameter saving, some sort of… and since there are thousands of ways to do each of these in max/msp/jitter, you then have to choose your specific way of doing each all in tandem with what’s most efficient both for your time and also for your users’ as well as the computer’s CPU.

I’m working most recently on my own app that compiles about 20 modules among which are samplers which have sequencers that are simple multisliders which simply sequence pattrstorage numbers to recall presets. That’s all I need both for live performance and for non-live composition(editing). Each person has their own taste, I suppose, but I really feel like I came up with the best solution for me because I kept focus on what was most important: not making interfaces but making music.

But that’s just me: who am I? and what do i know about it, anyways? Nobody and nothing. Best of luck on whatever you choose.

#139629
Sep 8, 2008 at 11:52pm

Pardon me, Robin. My mistake. I thought for some reason that you were
the original poster.

On Mon, Sep 8, 2008 at 3:34 PM, robin foster

wrote:
>
> im not referring to jsui scripting. i meant max scripting. which can cause the screen to refresh in jolts, which doesn’t look very good.
>
>
> you’re suggesting that in order to answer a post I learn javascript?
#139630
Sep 8, 2008 at 11:56pm

that explains that! no worries.

#139631
Sep 11, 2008 at 8:07pm

Wow , I think this would be a lot of work : Though a great way of learning scripting and interface design within MAX ,

I think that if you are doing this ‘for a learn how too atitude “” , Great !!!!

Otherwise hmm …. you could really kind of do your head in … Though I hope I am not trying to discourage you in anway !!

#139632

You must be logged in to reply to this topic.