1

2 questions

1: Q light software...

I have a Showtec Showmaster 24 which is a DMX controller with 24 channels. I have plugged it's MIDI input into my PC using a USB/MIDI cable. QLC picks up the MIDI connection and I have assigned the MIDI channel as 2. The light desk tells me how to set up the MIDI input channel which is done, it tells me how to set it to wait for download dumps from the PC.

When it is waiting, it expects a single byte value of 85 as the beginning of the data block followed by the filename DC1224.BIN followed by a space. Then a file dump follows.

Bytes 22 to 69, notes that switch on/off the 48 chasers. The velocity is the program master.

Bytes 70 to 93, notes activate channels 1 to 24. Velocity controls the intensity.

Anyway to finish off the scenario I also have 4 LED cans which match perfectly to the StarVille LED PAR 56 built in fixture in QLC.

Anyway, when I set the lighting desk to listen to MIDI channel 2, route the QLC output to MIDI 2 using note velocity mode, setup a set of sliders that are mapped to one of the cans DMX address nothing seems to change when I raise or lower the slider for any colour.

Is there a plugin for this desk or is there a way to make it work?


Question 2:


Following on from QLC I am writing my own software with source for MIDI in/out control. So assuming that I can output to the lighting desk, send the same sequence - byte 85, the filename and space, what follows?

I have the standard MIDI API for lighting which I have browsed does every command sent to the desk follow the same header?

TIA

Andrew Sprott

JasonMArcher
  • 14,195
  • 22
  • 56
  • 52
Muscipula
  • 55
  • 2
  • 10

3 Answers3

1

I think you are misreading the manual. The one I found doesn't have anything about the format of the data dump. What you are calling byte numbers are actually MIDI note numbers. e.g. sending a MIDI Note On message with note number 22 will turn on or off program 1.

It's very unclear what they mean by:

During receiving and sending file dump, the controller will automatically search for or send Device ID of 55H (85), a file named DC1224 with an extension of "BIN (SPACE)".

The 55H would need to be preceded by some command, otherwise it's just a data byte whose meaning would depend on the most recent command byte.

If there isn't better documentation, the best way to figure out the data dump format will probably be to send it to your PC and look at it there. I'd suggest MIDI-OX. I used to use that a lot when I was supporting Windows.

SSteve
  • 10,550
  • 5
  • 46
  • 72
  • I simply assume that the byte 55 and the filename etc is what the desk is waiting for. Then it awaits e MIDI instruction. The note identifies the chaser/channel and the velocity indicates the intensity level for the chaser/channel. – Muscipula Aug 10 '11 at 22:44
  • If you just want to control the desk from software in real time, you needn't bother with the format of the sysex dump. You can control it using MIDI note on messages. Pitches 22 to 69 control the chasers and pitches 70 to 93 control the channels. For example, to set channel 4 to half intensity on your board which is set to channel 2, you would send (in hex) 91 49 40. That a Note On, channel 2, pitch 73, velocity 64. This assumes the velocity range is 0-127. – SSteve Aug 11 '11 at 00:20
  • OK, seeing as I am going to use the MIDI OUT of the same module, I used the MIDI IN to log the output of the desk. The desk does not use Sysex, it uses a three byte form, the command, and two data bytes. When I simply switch on the desk and start a chaser and record to the log, I get message pairs. The command and data1 bytes are 144 and 101, while data2 alternates between 127 and 0. I'm assuming that the messages come in pairs, but I'm confused as in the manual note 101 means 'step'. I'm still lost !!!! Andrew – Muscipula Aug 26 '11 at 21:31
  • Further to what I just said, data1 is 101 which is the step instruction and if you slow down the stepper on the desk the dumps slow down. I do not know what the command 144 is. Andrew – Muscipula Aug 26 '11 at 22:08
  • 144 (decimal) is 90 (hex) which is a Note On command for channel 0. 101 (decimal) is 65 (hex) which is the note number. The note numbers in the manual are decimal, so note number 101 does certainly appear to be the `step` function. data2 is the function value. For a keyboard 127 would be maximum velocity and 0 would be Note Off. For a lighting controller they will mean whatever makes sense to the controller. If it was a dimmer, they'd mean full and minimum brightness. I don't know what the `step` function does, but they could mean something like _step left_ and _step right_. – SSteve Aug 26 '11 at 22:37
  • The reason I guessed that the two data bytes came in pairs - as well as the obvious solution to pass on 8 bit values - is that when you look at the timing of each instruction group as sent to the computer, they appear almost instantly together with a significant 99 ms gap in between. There is also something else, I have found instruction manuals for several similar desks with the same system, 'The control protocol downloads the data from address 55Hex under the filename DC1224.bin'. What do they mean by 'address' and 'under' the filename? – Muscipula Aug 27 '11 at 06:56
  • However, believe it or not I must be doing something right. For a moment the lights did start responding to my software, though I have no idea how or why other than to avoid making any significant changes. – Muscipula Aug 27 '11 at 06:58
0

It seems that the dump is actually done via SysEx. I suspect this, since they have given you a device ID, which is passed with SysEx data. It is also the standard way to do a dump like this.

As @SSTeve pointed out, you should use MIDI-OX to receive and look at this data.

It seems that the actual format isn't provided to you, but I bet it will be obvious when you look at the data returned.

Brad
  • 159,648
  • 54
  • 349
  • 530
0

OK, solved the problem, the solution is to use the following sequence of bytes as a header for each packet sent to the desk :

$55+'DC1224.BIN '

The filename is used by the desk for communicating with other desks when synchronising.

What follows is a MIDI show control message with note on, pitch and velocity parameters. The device id is whatever the connection is to the lighting desk, a usb/midi cable for example.

The note on instruction uses the midi channel as it's lower 4 bits. The pitch is the colour channel in the DMX universe added to the base 70 - 24 channels 70 to 93 - and the velocity is the intensity, but remember you need to scale it from 8 bits to 7, in other words, new_colour=old_colour/255*127.

But anyway, It works.

Muscipula
  • 55
  • 2
  • 10