The frontend of Dueet Live.
-
Clone the repository
-
Run
cp .env.example .env
and fill in the environment variables based on how the backend is set up.
-
Install dependencies
yarn install
-
Run the app in development mode
yarn start
Play a piano duet with your friend online in real-time!
Home Page: https://dueet-live.netlify.app
Did not investigate further, but using on desktop, if you just click on a note and drag to other notes quickly, sometimes the note remains held down.
Hmm there should be a mouseLeave
event once your mouse leave a key, let me do more testing
Originally posted by @Na-Nazhou in #2 (comment)
After further testing, I observed that it only occurs when I'm on FireFox, Chrome is okay to me...
Clients should be able to tell the server that they are ready, then allow the server to tell them to start
Good, Bad, Not bad
Currently it is a random hard coded map. Also, it should automatically update after octave shift.
Can refer to this https://github.com/kylestetz/AudioKeys
Probably because the keyboard keeps rerendering
To be included as a choice in game lobby #73
Also, testing it on mobile, I'm having issues holding down a key; I can only tap on keys, which might be a problem, When trying to long tap a key as a hold, it ends up selecting the text instead..
Probably need another library for handling gestures on mobile. The default touchEvents
might be insufficient. Its also a bit hard to test on browser device simulator sometimes the behaviour is a bit different from what you'll see on real devices.
Originally posted by @Na-Nazhou in #2 (comment)
Might be good to let the user listen to the song while choosing
Resize still doesnt seem that great yet, we will definitely need to work on it to improve it in the future. ideally the keyboad should always take up the (width of screen - some padding) i think
Yea I did not manage to find a good formula to calculate the exact range of keys to render given the screen width (because the white key and the black key have different widths and when you shift octave, the total width might change). I just did a rough calculation first, will investigate further.
Originally posted by @Na-Nazhou in #2 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.