After being an active user and big fan of Ultrastar for a long time, I did some research on how it internally worked. One of the things that saddened me most was the low development of the original software and the lack of new features in time. From my point of view, the technologies available when the development process of UltraStar NX started were not even comparable to other modern technologies existing now, so I understand why choosing Pascal might had been a good option in the past. However, nowadays I guess there are not that many active Pascal users willing to contribute to a project like Ultrastar, which shrinks the chances of widening the software team and, in the end, improving the final product. My goal with this project is to turn the development of UltraStar into something modern, updating its technologies and rethinking its dependencies, making it possible for many kinds of developers to contribute and improve it.
- Programming language: JS ES2015 (the cool one)
- Runtime environment: NodeJS
- Framework: Electron
- Front-end framework: ReactJS + Babel + Browserify + SASS
- Task runner: Gulp
- Package manager: npm
- Support for UltraStar TXT files
- Lyrics sync
- Microphone input
- Pitch recognition
- Songs search!
- Songs download!
- Video transcoding
To start developing you need to make sure you have NodeJS installed and updated.
Clone this repo:
git clone https://github.com/pabgn/OpenStar
Run npm
npm install
Run the app
gulp serve
Gulp and its watchers will check for changes in the files, so you only need to worry about programming while it is running.