The first thing is that the requirements are not trivial, but your description of them appears good. Building it from scratch would probably take several hours and would probably not be a project you would want to pay for.
Secondly, my suggestion is that if you are not at the level where you can fully develop your own solution, that you find something that claims to do approximately what you want, get that working so it functions as the designer originally intended, then start modifying it in small steps to achieve what you want.
From what you have posted, you appear to have made significant changes between the 2 versions but without ever getting the thing working in any state. I don't recommend that you proceed like this.
Can you post a link to the 'open source code' you found in post #1 and say in how far this meets your requirements, assuming that it works as claimed. Then, assuming the original software is an adequate basis for your solution, the task is (a) getting the original code working and (b) adapting it, if necessary, to meet your requirements outlined in your second post.