├── .gitignore ├── LICENSE ├── README.md ├── components ├── ExampleInfo.tsx ├── ExampleWrapper.tsx ├── LivePiano.tsx └── react-piano-custom │ ├── ControlledPiano.js │ ├── Key.js │ ├── Keyboard.js │ ├── KeyboardShortcuts.js │ ├── MidiNumbers.js │ ├── Piano.js │ ├── SoundfontProvider.js │ ├── index.js │ ├── setupTests.js │ └── styles.css ├── liveblocks.config.ts ├── middleware.ts ├── next-env.d.ts ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ └── auth.ts ├── index.tsx └── piano.tsx ├── postcss.config.js ├── public ├── assets │ ├── avatars │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ └── instruments │ │ └── MusyngKite │ │ ├── acoustic_grand_piano-mp3.js │ │ ├── choir_aahs-mp3.js │ │ ├── electric_guitar_clean-mp3.js │ │ ├── fiddle-mp3.js │ │ ├── lead_2_sawtooth-mp3.js │ │ ├── marimba-mp3.js │ │ ├── muted_trumpet-mp3.js │ │ ├── piccolo-mp3.js │ │ ├── reed_organ-mp3.js │ │ └── steel_drums-mp3.js ├── favicon.ico ├── icons │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon-114x114.png │ ├── apple-touch-icon-120x120.png │ ├── apple-touch-icon-144x144.png │ ├── apple-touch-icon-152x152.png │ ├── apple-touch-icon-180x180.png │ ├── apple-touch-icon-57x57.png │ ├── apple-touch-icon-60x60.png │ ├── apple-touch-icon-72x72.png │ ├── apple-touch-icon-76x76.png │ ├── apple-touch-icon.png │ ├── browserconfig.xml │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── mstile-150x150.png │ └── safari-pinned-tab.svg ├── piano-layout.png ├── screenshot-mapping.png ├── screenshot.png └── thumbnail.png ├── styles ├── LivePiano.css └── globals.css ├── tailwind.config.js ├── tsconfig.json └── types.ts /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/README.md -------------------------------------------------------------------------------- /components/ExampleInfo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/ExampleInfo.tsx -------------------------------------------------------------------------------- /components/ExampleWrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/ExampleWrapper.tsx -------------------------------------------------------------------------------- /components/LivePiano.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/LivePiano.tsx -------------------------------------------------------------------------------- /components/react-piano-custom/ControlledPiano.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/ControlledPiano.js -------------------------------------------------------------------------------- /components/react-piano-custom/Key.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/Key.js -------------------------------------------------------------------------------- /components/react-piano-custom/Keyboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/Keyboard.js -------------------------------------------------------------------------------- /components/react-piano-custom/KeyboardShortcuts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/KeyboardShortcuts.js -------------------------------------------------------------------------------- /components/react-piano-custom/MidiNumbers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/MidiNumbers.js -------------------------------------------------------------------------------- /components/react-piano-custom/Piano.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/Piano.js -------------------------------------------------------------------------------- /components/react-piano-custom/SoundfontProvider.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/SoundfontProvider.js -------------------------------------------------------------------------------- /components/react-piano-custom/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/index.js -------------------------------------------------------------------------------- /components/react-piano-custom/setupTests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/setupTests.js -------------------------------------------------------------------------------- /components/react-piano-custom/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/components/react-piano-custom/styles.css -------------------------------------------------------------------------------- /liveblocks.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/liveblocks.config.ts -------------------------------------------------------------------------------- /middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/middleware.ts -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/package.json -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/pages/_app.tsx -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/pages/_document.tsx -------------------------------------------------------------------------------- /pages/api/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/pages/api/auth.ts -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/pages/index.tsx -------------------------------------------------------------------------------- /pages/piano.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/pages/piano.tsx -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/postcss.config.js -------------------------------------------------------------------------------- /public/assets/avatars/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/0.png -------------------------------------------------------------------------------- /public/assets/avatars/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/1.png -------------------------------------------------------------------------------- /public/assets/avatars/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/2.png -------------------------------------------------------------------------------- /public/assets/avatars/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/3.png -------------------------------------------------------------------------------- /public/assets/avatars/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/4.png -------------------------------------------------------------------------------- /public/assets/avatars/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/5.png -------------------------------------------------------------------------------- /public/assets/avatars/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/6.png -------------------------------------------------------------------------------- /public/assets/avatars/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/7.png -------------------------------------------------------------------------------- /public/assets/avatars/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/8.png -------------------------------------------------------------------------------- /public/assets/avatars/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/avatars/9.png -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/acoustic_grand_piano-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/acoustic_grand_piano-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/choir_aahs-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/choir_aahs-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/electric_guitar_clean-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/electric_guitar_clean-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/fiddle-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/fiddle-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/lead_2_sawtooth-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/lead_2_sawtooth-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/marimba-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/marimba-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/muted_trumpet-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/muted_trumpet-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/piccolo-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/piccolo-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/reed_organ-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/reed_organ-mp3.js -------------------------------------------------------------------------------- /public/assets/instruments/MusyngKite/steel_drums-mp3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/assets/instruments/MusyngKite/steel_drums-mp3.js -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/icons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-114x114.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-144x144.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-57x57.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-72x72.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /public/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /public/icons/browserconfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/browserconfig.xml -------------------------------------------------------------------------------- /public/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/favicon-16x16.png -------------------------------------------------------------------------------- /public/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/favicon-32x32.png -------------------------------------------------------------------------------- /public/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/mstile-150x150.png -------------------------------------------------------------------------------- /public/icons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/icons/safari-pinned-tab.svg -------------------------------------------------------------------------------- /public/piano-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/piano-layout.png -------------------------------------------------------------------------------- /public/screenshot-mapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/screenshot-mapping.png -------------------------------------------------------------------------------- /public/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/screenshot.png -------------------------------------------------------------------------------- /public/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/public/thumbnail.png -------------------------------------------------------------------------------- /styles/LivePiano.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/styles/LivePiano.css -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/styles/globals.css -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CTNicholas/liveblocks-live-piano-next-js/HEAD/types.ts --------------------------------------------------------------------------------