DEQ 2496 Remote Controll (under construction by myself)

Good news and bad news from the snow covered wastelands of Scotland, all of 1/4 inch of snow but we really have no idea how to cope with snow over here.

I've had the remote work quite nicely, I've had the remote work but had to double click the buttons and I've had periods where the remote appears to be sending but nothing is coming back. Could be my USB powered iO2 interface, could be my DEQ, could be a timing problem. I've tried 3 pc's, nothing conclusive :(

Oh well, I'll investigate some more if I have time, I'm glad I could be of some help with Delphi at least :)
 
Version of the DEQ, there's a thought. My DEQ is about 2 years old, I'll check the version tonight.

Of course, I'm remembering. There were two versions of the hardware, the 1.4 sw is for the old hardware, 2.2 for the new hardware. They shouldn't have messed with the midi but you never know.

I have a copy of the midimountain demo you mentioned above, web site currently down, I'll have a little play over the weekend :smash:
 
Hum, I've found something in the midi source that doesn't look quite right. The question is, why does it work for you ? Could be old DEQ vs new DEQ, mine is v2.2.

Looking at sample project V1.1 for Delphi 6, file Midi.pas, line 373 part of procedure StrToSysExStream, reads:

aStream.Size := Length(lStr) div 2 - 1;

My delphi 7 docs tell me the .Size property 'Indicates the size in bytes of the stream'. The trouble is the - 1 in line 373 results in a size that is one less than the byte size of the message to be sent ! eg the connect string F00020327f1201F7 yields a aStream.Size of 7. But the connect string is 16 characters long and should therefore have a byte length of 8.

Using just the Midi demo clicking on the Send button results in the same behaviour I see from your remote app, message is sent but no reply. Viewing the message in Midi-Ox shows the final F7 is missing, which we would expect if the calculated byte size is one less than it should be :rolleyes:

When I change line 373 to be:

aStream.Size := Length(lStr) div 2;

... just delete the '- 1', all is good, for me at least.


Code:
procedure StrToSysExStream(const aString: string; const aStream: TMemoryStream); 
const   cHex = '123456789ABCDEF'; 
var   i: integer;
   lStr: string; 
begin
   lStr := StringReplace(AnsiUpperCase(aString), ' ', '', [rfReplaceAll]);
   aStream.Size := Length(lStr) div 2;           // ecat, Was div 2 - 1; connect string is 16 chars, this -1 gives a buffer length of 7, should be 8? humm.
   aStream.Position := 0;
    for i:=1 to aStream.Size do
     pchar(aStream.Memory)[i-1] :=
       char(AnsiPos(lStr[ i*2 - 1], cHex) shl 4 + AnsiPos(lStr[i*2], cHex));
 end;

If you would like to try this change I'll be happy to test with my v2.2. Please double check that your app still works for you :)

I'll see if I can find anything else.
 
Hard at work :smash:


AllWorking.gif


All accessed remotely via VNC so I can take control from my laptop or relax in another room and only the neighbours have to suffer the test tones :D
 
looks cool

Ecat i got an other guestion for you.
You seem to have enough know how, so maybe you you can help.

i want to draw the curves of the peq settings into a bitmap.
have you ever stumbled over a code to do such a thing?

O and again thanx for the support on the midicore!

regards simon
 
I've not had to draw parametric curves before indeed the only equation I've seen is the one from Pulse-R in post 24. What exactly does the DEQ return ? Let me know and I'll see what I can do :)

seoman said:
O and again thanx for the support on the midicore!

regards simon

You are more then welcome. My visits to diyaudio are infrequent and usually I just lurk so it is a pleasure to give something back to this wonderful community.
 
well
connect midi-in to midi-out and vise versa

on the midi page on the ultracurve enable sysex (systemexclusive) on both in and out
also enable CC (controlchange)


on the (deqremote) midi page select te correct midipinput and midi output.
after selecting the output it will seach for the ultra curve.
But you can also manualy click "search device"

That should be all.