derkalle4 / python3-idotmatrix-library

This library talks to displays originally used with the iDotMatrix Android & iOS App.
GNU General Public License v3.0
29 stars 6 forks source link

Hope get audio support #3

Open darktell opened 1 month ago

darktell commented 1 month ago

As soon as I received this device, I immediately thought about using it lake an audio visualizer. I came across your library and realized that it doesn't support this yet. However, I got inspired and decided to at least create full 'Bad Apple' video (but like a gif lol) on this device.

image

I am not very familiar with Python and even less so with Bluetooth interaction. Therefore, I am unsure how to implement sending audio visualizations. When I tried to draw the 'Bad Apple' video frame by frame, I discovered that there is a huge delay when executing await self.conn.send(data=data), and I managed to render it at approximately 0.2-1 frames per second. (Idk if the problem is in bluetooth, the device or in the sending logic) So, I don't know how it would be possible to send information for an audio visualizer in real-time without delays.

aviwad commented 1 month ago

I would also be interested in helping reverse engineer this! My display just came by package today. Would you happen to have any idea for how / where we could start? @derkalle4. Thanks a lot. Would love to help.

derkalle4 commented 3 weeks ago

@aviwad there is a lot to do on the implementation side. Please look at the readme and the source code itself. Everything that could be optimized and improved will help :)

I still have a lot to do with long-covid and use all my energy to have a work. Therefore I do not have a lot of time to work on this. However, I greatly will review and approve pull-request whenevery they occure and have some overall code quality.

You should start by decompiling the Android App like I did - there are online decompiler-tools out there which are easy to use. Whenever one of you has more experience with manual decompiling the app: go for it :)

At least for the MusicSync part I haven't exactyl figured out what does happen.