Thursday 13 July 2017

TMC-1 web app for Computer,Tablet or Phone (Windows, Mac, Android or iOS)

I have spent the last week developing a web app for the TMC-1, I started because Toshiro Kobayashi from Tac Systems requested that we increase the Pallet size on the TMC-1-Penta, one of his customers needed to select from more that 16 inputs!   In the next software update I have doubled the size of the Pallet allowing a maximum of 34 inputs- Main, Alt and 32 inputs in the Pallet.

I saw a problem for users selecting the inputs from the pallet. Initially I thought to make a computer app as an alternative selection tool but on discussion with Daniel who works with me we decided that a web based app would be more useful. Daniel had mentioned if it was possible to add a tablet interface to the TMC-1 previously some months ago.

To implement the app the TMC-1 becomes a server, allowing one device to be connected. The web page is dynamic and both control the TMC-1 and display the current status. There main problems to implement this on the TMC-1, Memory size and Status indication.

Memory size:
A small DAW has 4 GBytes of memory, the TMC-1 has less than 1 MByte. To send a web page you must first know its length, as page is dynamic the software must first write the page in memory to calculate its length - the memory size determines how much can be displayed.

Status:
The best way to display the status is to use a web socket, however this requires a encrypted handshake and json on the server in this case the TMC-1. I decided that this was too much for the first implementation and to use polling, A new menu allows selection of 8, 4 and 1 second polling  as well as manual update. To reduce the overhead the TMC-1 will reply with no-change message unless a key is depressed.

Here is a screen capture of the output from a TMC-1-Penta

I may change the L/S keys for the TMC-1 User and Function keys, this will allow the user to select their function.

The next Blog entry will detail the Beta test version of the software

   

No comments: