Jump to content

Does an emulation have to be completely implemented in software ?


Dunewar
 Share

Recommended Posts

Sorry for the obviously stupid question, but it's not very clear to me.

What makes a software program think that a certain device is attached to it? How is a certain emulation protocol implemented? I've been looking at Thorstens code for the motormix emulation (impressive work), but I want to adapt it. I don't need all functions, and I want to make changes to the physical layout (spreading multifunction knobs/encoders out over multiple knobs).

I have all the midi messages that the machine and the host send out to each other, is it just a question of sending the right messages, or does it have to be followed to the letter?

To give an example : If I were to implement just one fader and one fader only, and it sends out the correct data for an Logic Control fader 1, does it matter to the HOST that the rest isn't implemented in the software?

I can imagine that a PING REQUEST-PING RETURN is necessary to make it function, but can I implement feature per feature in the software or do I have to have the full protocol in there from the start?

Not that I don't want to use TK's software, but I want to see how far I can take a control surface and still be conform a known protocol, because bloody pro-tools doesn't understand any better...

Link to comment
Share on other sites

As far as I can guess, the control protocol is on a "this just changed, so I'll tell you" basis.

That said, there would be information coming from the software package (DAW) to update fader positions en masse, send through fader labels, screen updates for pan mode, eq mode etc.

I doubt you need to make more than one fader, as per your example. Any data not used (ie the other 7 faders, the leds etc) could be ignored by the midibox anyway.

Link to comment
Share on other sites

all your questions will be answered if you start to look at the code...

I had all the same questions as you, but now I am familar with MIOS and the C programs written for it I can easily do any of the things you mentioned...

Build the box and play with the code, the rest will fall into place - after a bit of tinkering and headscratching inbetween...

Link to comment
Share on other sites

Thanx guys, that's exactly what i'm doing, going through the code. The motormix emulation by TK is incredibly well documented and nicely coded, so it's fascinating to trawl through that code. I'm learning a lot of C in the progress (especially bit-shifting...new to me).

Since this is my first project of this kind, i'll start small and add new features conforming to the motormix emulation code one by one, customising the whole thing in the process.

thanx

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...