Forum to discuss all matters relating to the MPC1000 and MPC2500 operating systems created by 'JJ' (all versions).
User avatar

By arebee Mon Jan 28, 2008 1:09 pm
Nym wrote:i think that in 99% of the time, the fact that there is no midi output assignment on internal-sound tracks controlled by ccs will be enough to differentiate which is which

but, as i see it, the cc itself would not get recorded but rather the appropriate qdata. ***also, this would apply to incoming ccs, not necessarily outgoing ccs.


***so how would this work if were used to already recording cc's into the mpc for sequencing to outboard gear? like i said, if this function was retained, then a distinction is needed to keep 'em apart. otherwise, the qlinks would be responding to cc's not intended to be used as cc-qlink controllers.

By dtaa pla muk Mon Jan 28, 2008 1:20 pm
it's easiest in terms of specification and parameters (and functional implementation) to think of this new incoming CC function in terms of qlinks, which are PER PROGRAM.

currently, you can move qlinks while recording til you're blue in the face without making any kind of change if you have made no qlink=>parameter assignment. likewise with incoming midi ccs (extra qlinks): if they're not activated in Slider mode, either by direct single assignment (CC1=Xparam) OR more globally by an incoming CC=>qlink on/off switch.

likewise, hypothetically, incoming midi ccs may be translated and get recorded as qdata. this says nothing of outgoing midi cc from another track, 1 because it's OUTGOING, thus not routed to a track w/ incoming cc=>ON, and also because in all likelihood this other track is using a different pgm altogether, thus completely separate from the first.

if in the future we get multitimbrality or better yet a nice midi channel => track routing system the above setup wouldn't end up getting in its own way, which is also nice.
User avatar

By formantuk Mon Jan 28, 2008 7:49 pm
hello ... had time on my hands this afternoon.
went through all the functions that could be potentially controlled via midi.
not that all of them would be needed - but here they are anyway
useful for cross reference - let me know if i've made any mistakes
and i'll edit/update.

TEMPO- rate

SWING- pecenatge

SIMULT- sequence level

TRACK MUTES-

GPE - for each pad.
SAMPLE - tune, play mode , voice Xfade balance, sample end.
AMP - pgm play, play, voice, end, attack, decay, sustain, release
FILTER- type, frequency, resonance, velocity depth, aftertouch, attack, decay, sustain, release
PITCH base pitch, sample start, aftertouch, attack, decay, sustain, release ADSR depth.
LFO - waveform, rate, delay, aftertouch to pitch, pitch - filter - level amounts
MUTES/SIMULT- MODE -mut/simult taget 1, 2, 3, 4 group.

Program MIXER - pan, volume, FX send 1 & 2, output assign
Track MIXER - pan, volume, FX send 1 & 2, output assign

MASTER EFFECTS
1. EQ= ON/OFF, H, gain, 1, gain, 2, gain, L, gain.
2. Compressor= ON/OFF, threshhold, gain, ratio, attack, decay.

EFFECTS-

FX1-
1. bit grunge = depth
2. 4 band EQ = low -freq, gain. mid2- freq, gain, Q. mid1- freq, gain, Q. high- freq, gain.
3 compressor = threshhold, gain, ratio, attack, release.
4. phase shifter = sweep rate, width, mid point, feedback, offset, L/R sweep sync.
5. tremelo= rate, depth, invert, seq sync.
6. flying pan= sweep rate, width, seq sync, sweep curve bend, pan low.
7. reverb= input filter, time, hf damp, reverb level.
8. delay= time, feedback, hf damp, level, seq sync, mode, width, pan.

FX2-
1. chorus= slow sweep rate, depth, L/R sweep sync, vibrato rate, depth, feedback.
2. flanger= slow sweep rate, depth, L/R sweep sync, vibrato rate, depth, feedback.
3. bit grunge = depth
4. 4 band EQ = low -freq, gain. mid2- freq, gain, Q. mid1- freq, gain, Q. high- freq, gain.
5 compressor = threshhold, gain, ratio, attack, release.
6. phase shifter = sweep rate, width, mid point, feedback, offset, L/R sweep sync.
7. tremelo= rate, depth, invert, seq sync.
8. flying pan= sweep rate, width, seq sync, sweep curve bend, pan low.
9. reverb= input filter, time, hf damp, reverb level.
10. delay= time, feedback, hf damp, level, seq sync, mode, width, pan.


INPUT THRU - ON/OFF , Level, output, FX send 1 & 2, FILTER, freq, reso
Last edited by formantuk on Tue Jan 29, 2008 3:52 pm, edited 1 time in total.
User avatar

By Sooty_G Tue Jan 29, 2008 4:07 am
formantuk wrote:i think your idea is great and makes sense.
but how would you implement it?
what other keys or way would you use, to activate the learn function?

tell us more about how you would get it to work.


well, i don't know anything about how to get the underlying code to work, that's JJ's department. all i have are my ideas on how i think this midi cc assign thing would best work, which may or may not be a pain for JJ to implement.

like i said before:
1. put the cursor over a parameter & press a key combo (i like Nyms suggestion of using the NUMERIC key, or maybe SHIFT + NUMERIC)

2. cursor starts blinking

3. move a knob or slider on your midi controller

4. cursor stops blinking. assignment is complete.

ideally:
1. you can do this with the qlink sliders as well (when the cursor is blinking, instead of moving your external midi controllers you move one of the qlinks)

2. you can assign multiple parameters to one controller (for example have 1 slider controling pitch, level, resonance, attack, etc. all at the same time)

3. this would work with the WHOLE feature in the PROGRAM edit screen (move cursor to a parameter, press the WHOLE tab to highlite the whole column, then press the key combo & the entire column will start blinking so you can assign all of them to one controller at the same time.)

if you could assign things like this, the SLIDER screen would have to be different. instead of just showing Q1 & Q2, it would show all of the controllers that are you have assigned. then you could go in and tweak the low & high values, the target, and also reset all the controllers back to the default if you wanted.

it might take a while for JJ to implement this (or it might not!) but if he did, it would allow you to do pretty much anything you could imagine in terms of controling parameters. it would cover every request that people have made so far regarding midi control of the mpc.
User avatar

By Sooty_G Tue Jan 29, 2008 4:16 am
formantuk wrote:hello ... had time on my hands this afternoon.
went through all the functions that could be potentially controlled via midi.


this is a useful reference. thanks!
User avatar

By formantuk Tue Jan 29, 2008 2:10 pm
Sooty_G wrote:well, i don't know anything about how to get the underlying code to work, that's JJ's department. all i have are my ideas on how i think this midi cc assign thing would best work, which may or may not be a pain for JJ to implement.

like i said before:
1. put the cursor over a parameter & press a key combo (i like Nyms suggestion of using the NUMERIC key, or maybe SHIFT + NUMERIC)

2. cursor starts blinking

maybe the over dub light could light up then go out when you have moved you midi controller.

Sooty_G wrote:3. move a knob or slider on your midi controller

4. cursor stops blinking. assignment is complete.



if this could work - this would be spot on 8)

Sooty_G wrote:ideally:
1. you can do this with the qlink sliders as well (when the cursor is blinking, instead of moving your external midi controllers you move one of the qlinks)

have to see if jj could do this - maybe a hardware limitation, as you would have thought he would have done this already.
Sooty_G wrote:2. you can assign multiple parameters to one controller (for example have 1 slider controling pitch, level, resonance, attack, etc. all at the same time)

3. this would work with the WHOLE feature in the PROGRAM edit screen (move cursor to a parameter, press the WHOLE tab to highlite the whole column, then press the key combo & the entire column will start blinking so you can assign all of them to one controller at the same time.)

if you could assign things like this, the SLIDER screen would have to be different. instead of just showing Q1 & Q2, it would show all of the controllers that are you have assigned. then you could go in and tweak the low & high values, the target, and also reset all the controllers back to the default if you wanted.


i'm sure this is potentially useful - but can't think of an example where you would put two functions on the same slider? unless you could set there low/high value independently.
being able to see everything your controllers are assigned to would be extremely useful - and being able to set the the high and low values also.
and it makes perfect sense to have it in PAD1 SLIDER area.
Sooty_G wrote:it might take a while for JJ to implement this (or it might not!) but if he did, it would allow you to do pretty much anything you could imagine in terms of controling parameters. it would cover every request that people have made so far regarding midi control of the mpc.


personally i think you have suggested a really easy and intuitive way of implementing this - what doe's everyone think?

nym what the consensus on functions that will be available to assign to controllers? could you recap?
if it looks like there's a limit to the amount of functions that can be controlled via midi. maybe we should post a list of the functions we would need?
User avatar

By mikolo Tue Jan 29, 2008 2:56 pm
hey formant good list work!
the only things i think youve missed are tempo, swing and simult sequence level... Id totally forgotten about input thru filter,level etc i've been wanting JJ to re-introduce this for ages!

i'm sure this is potentially useful - but can't think of an example where you would put two functions on the same slider? unless you could set there low/high value independently.

I think linking stuff together would be amazing, but true independent high and lows would be important. CC to aftertouch would be one quick way to do this for certain parameters cause you can set it too multiple destinations already.

also..as far as will we have multi timbral control.. we already have control over each tracks level,pan etc from the track mixer,which is accesible from any track.So at first we could ask for multi timbral control over these features?
User avatar

By formantuk Tue Jan 29, 2008 4:28 pm
thanks for those - mikolo have added 'tempo, swing and simult sequence level'
it's easy to miss stuff - if anyone spots any more let me know.


---- i'm going to add at the end of the list the possibility's we are considering
so if any one has an idea we can discuss it and add it to the list...
try and explain it in as simple of terms as possible so we can all understand what we are trying to archive.

please correct me if i'm wrong about any tech details.

the first thing i'm going to add is:

LEARN FUNCTION-
1. put the cursor over a parameter & press the key combo SHIFT + NUMERIC
2. overdub LED starts blinking
3. move a knob or slider on midi controller
4. overdub LED stops blinking. assignment is complete.

any objections? is this the best way ?

By dtaa pla muk Tue Jan 29, 2008 4:36 pm
i didn't see, did you include ALL the existing qreal/qlink parameters as per jjos2 manual? including CHOP?

as for midi learn, i love it but i don't expect to see it at this function's first appearance.
User avatar

By formantuk Tue Jan 29, 2008 4:59 pm
Nym wrote:i didn't see, did you include ALL the existing qreal/qlink parameters as per jjos2 manual? including CHOP?

do you mean?:

parameter of realtime:
tune
cutoff
resonance

parameter of note on:
tune
filter
layer
attack
decay
sample start
sample end
velocity
pan
chop

Nym wrote:as for midi learn, i love it but i don't expect to see it at this function's first appearance.

yeah i can see - it could take a while - we can put it too jj and see if he/they go for the idea.

nym as you started the thread would you put the list and requests we want, in your first post ?
that way it would be easy to discuss each issue as they are presented.
at the moment we have tons of ideas but no organisation.
if we need a piece of info, we just go and cut n past the relevant from the list.
then once the idea has been trashed out we add the outcome to the list.

By dtaa pla muk Tue Jan 29, 2008 6:05 pm
yeah, that list. very important.

ok, i'll do that, but how "organized" should i be? should i be selective, or all inclusive? what has been detailed here has been a very broad range of FRs, some more applicable than others. even many of the more averaged-ranged requests (like sootyG's excellent midi learn proposition) are a "request squared," that is it's a request over the original request. such requests skip ONE and start counting at TWO.

this is just a hunch, but i think that the first incarnation of MIDI IN=>CC is going to be pretty simplified compared to some of the otherwise brilliant plans here. seems to me the most sensible way that this would be introduced would be to assign definable CCs to definable parameters in qlink mode.

Image

why? the specification is already written for the action of the qlink sliders. they are assigned, manipulated, etc. it may just be a matter of switching X with Y.
User avatar

By formantuk Tue Jan 29, 2008 8:06 pm
Nym wrote:this is just a hunch, but i think that the first incarnation of MIDI IN=>CC is going to be pretty simplified compared to some of the otherwise brilliant plans here. seems to me the most sensible way that this would be introduced would be to assign definable CCs to definable parameters in qlink mode.

Image

why? the specification is already written for the action of the qlink sliders. they are assigned, manipulated, etc. it may just be a matter of switching X with Y.


agreed.. what we need to work out is what CC's control what functions
so we need a list for that.

i think we also could put forward to jj the 'Learn function' based Sooty_Gs idea - that is multi timbrel and which could control many functions.
this would probably have to be a separate system - that would have it's own data.
so in step edit it would show up something like. EG:
BAR--------LEARN DATA---MIDI----FUNCTION
001.01.00 L:TRACK-------CH01----CUTOFF--------------:+ 9
001.02.00 L:TRACK-------CH01----CUTOFF--------------:+ 7
001.03.00 L:TRACK-------CH02----TUNE-----------------:+24
001.03.00 L:TRACK-------CH016---SAMPLE START------:- 35

this would give us 16x16 input midi channels. each channel could support 128 functions - :shock:

of course this may be unrealistic - but worth presenting to jj as an idea.
you never know - it might be possible.

Nym wrote:yeah, that list. very important.

ok, i'll do that, but how "organized" should i be?

1. post the list of all available functions that could be controlled externally.
2. post a list of filled CCs and available slots and fill in the blanks as we go.

Nym wrote:should i be selective, or all inclusive?

i think you can afford to be selective - i think most trust your judgement
and understanding - if your unsure ask everyone to vote again if its a tough one.
Nym wrote:what has been detailed here has been a very broad range of FRs, some more applicable than others. even many of the more averaged-ranged requests (like sootyG's excellent midi learn proposition) are a "request squared," that is it's a request over the original request. such requests skip ONE and start counting at TWO.



yeah this is a difficult call - anything you consider outside the a gender -how about listing it at the bottom of the list - titled -future feature requests-
if there's some really good ideas they can be put to jj then.

ultimately the lists etc .. should be clear and easy to follow.
a lot of the time - if your tired - you can lose the plot and not understanding any of it.
we could open up a new thread for this. what do you reckon ?
User avatar

By Sooty_G Wed Jan 30, 2008 3:39 am
formantuk wrote:LEARN FUNCTION-
1. put the cursor over a parameter & press the key combo SHIFT + NUMERIC
2. overdub LED starts blinking
3. move a knob or slider on midi controller
4. overdub LED stops blinking. assignment is complete.

any objections? is this the best way ?


just for the record, i prefer to have the cursor blinking as opposed to the overdub light going on during a midi learn. i associate the overdub light with sequencing and recording events, and that's not what you're doing here. also if you're looking at the screen or have your hands over the mpc it can be easy to miss that the overdub light is actually lit. better to have the cursor blinking since it calls your attention to what you're about to do.

By dtaa pla muk Wed Jan 30, 2008 3:44 am
http://www.tweakheadz.com/midi_controllers.htm

THIS HELPS.

0 Bank Select (MSB)
1 Modulation Wheel or Joystick (positive polarity) (MSB)
2 Breath controller sometimes Joystick (negative polarity) (MSB)
3 ???
4 Foot Pedal (MSB)
5 Portamento Time (MSB)
6 Data Entry (MSB)
7 Volume (MSB)
8 Balance (MSB)
9 ??????????
10 Pan position (MSB)
11 Expression (MSB)
12 Effect Control 1 (MSB)
13 Effect Control 2 (MSB)
14 Undefined
15 Undefined
16 Ribbon Controller or General Purpose Slider 1
17 Knob 1 or General Purpose Slider 2
18 General Purpose Slider 3
19 Knob 2 General Purpose Slider 4
20 Knob 3 or Undefined
21 Knob 4 or Undefined
22-31 are undefined
32 Bank Select (LSB)
33 Modulation Wheel (LSB)
34 Breath controller (LSB)
36 Foot Pedal (LSB)
37 Portamento Time (LSB)
38 Data Entry (LSB)
39 Volume (LSB)
40 Balance (LSB)
42 Pan position (LSB)
43 Expression (LSB)
44 Effect Control 1 (LSB)
45 Effect Control 2 (LSB)
46-63 may be in use as the LSB for controllers 14-31 in some devices, but I have not seen one yet.
64 Hold Pedal (on/off)
65 Portamento (on/off)
66 Sustenuto Pedal (on/off)
67 Soft Pedal (on/off)
68 Legato Pedal (on/off)
69 Hold 2 Pedal (on/off)
70 Sound Variation
71 Resonance (aka Timbre)
72 Sound Release Time
73 Sound Attack Time
74 Frequency Cutoff (aka Brightness )
75 Sound Control 6
76 Sound Control 7
77 Sound Control 8
78 Sound Control 9
79 Sound Control 10
80 Decay or General Purpose Button 1 (on/off) Roland Tone level 1
81 Hi Pass Filter Frequency or General Purpose Button 2 (on/off) Roland Tone level 2
82 General Purpose Button 3 (on/off) Roland Tone level 3
83 General Purpose Button 4 (on/off) Roland Tone level 4
84-90 are undefined
91-93 are Effects Group Controls
91 Reverb Level
92 Tremolo Level
93 Chorus Level
94 Celeste Level or Detune
95 Phaser Level
96 Data Button increment
97 Data Button decrement
98 Non-registered Parameter (LSB)
99 Non-registered Parameter (MSB)
100 Registered Parameter (LSB)
101 Registered Parameter (MSB)
120 All Sound Off
121 All Controllers Off
122 Local Keyboard (on/off)
123 All Notes Off
124 Omni Mode Off
125 Omni Mode On
126 Mono Operation
127 Poly Operation
User avatar

By formantuk Wed Jan 30, 2008 12:04 pm
that's perfect nym - sorry to hear your ill - hope you get better - or should i say get beta v0.90 soon :)