Forums > MaxMSP

Basic Garageband style sequencer

September 8, 2008 | 2:57 pm

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


September 8, 2008 | 5:26 pm

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.


September 8, 2008 | 5:35 pm

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.


September 8, 2008 | 6:43 pm

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 :)


September 8, 2008 | 7:16 pm

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.


September 8, 2008 | 7:34 pm

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?


September 8, 2008 | 8:19 pm

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


September 8, 2008 | 8:36 pm

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


September 8, 2008 | 8:47 pm

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.


September 8, 2008 | 11:52 pm

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?

September 8, 2008 | 11:56 pm

that explains that! no worries.


September 11, 2008 | 8:07 pm

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 !!


Viewing 12 posts - 1 through 12 (of 12 total)