diff --git a/README.md b/README.md index 670ae9a..ecccf5e 100644 --- a/README.md +++ b/README.md @@ -6,21 +6,47 @@ Browser-based live looper for music performance and audio fun!

+- [How to use](#how-to-use) +- [Motivation](#motivation) +- [What features does this have?](#what-features-does-this-have) +- [Where can I read more?](#where-can-i-read-more) +- [Building / running locally](#building-running-locally) +- [Useful resources in my Web Audio journey](#useful-resources-in-my-web-audio-journey) +- [Acknowledgements](#acknowledgements) + +## How to use + +1. Go to [loopsupreme.com](https://loopsupreme.com) +2. Click "play" +3. Arm a track for recording +4. Add more tracks and keep building! + ## Motivation I wanted to do some live looping on my keyboard but wasn't super satisfied with any of the options out there. I wanted something quick-and-dirty but made it (somewhat) easy to do a loop performance. I've also been itching for a side project. Seemed like a great way to feed two birds with one scone! -## What features does / will this have? +## What features does this have? You can check out [The Roadmap](./roadmap.md)! ## Where can I read more? -I'm planning to blog about the experience of building it. +I blogged about this as I made it -You can [check out my blog here!](https://ericyd.hashnode.dev/) +* Part 12: v1.0 release, and project retro (_coming soon!_) +* [Part 11: Exporting stems and changing inputs](https://ericyd.hashnode.dev/loop-supreme-part-11-exporting-stems-and-changing-inputs) +* [Part 10: Keyboard bindings](https://ericyd.hashnode.dev/loop-supreme-part-10-keyboard-bindings) +* [Part 9: Visualizing the waveform](https://ericyd.hashnode.dev/loop-supreme-part-9-visualizing-the-waveform) +* [Part 8: Building and hosting](https://ericyd.hashnode.dev/loop-supreme-part-8-building-and-hosting) +* [Part 7: Latency and adding Track functionality](https://ericyd.hashnode.dev/loop-supreme-part-7-latency-and-adding-track-functionality) +* [Part 6: Workers and AudioWorklets](https://ericyd.hashnode.dev/loop-supreme-part-6-workers-and-audioworklets) +* [Part 5: Record and loop a track](https://ericyd.hashnode.dev/loop-supreme-part-5-record-and-loop-a-track) +* [Part 4: Adding a Scene](https://ericyd.hashnode.dev/loop-supreme-part-4-adding-a-scene) +* [Part 3: Metronome click](https://ericyd.hashnode.dev/loop-supreme-part-3-metronome-click) +* [Part 2: Adding a Metronome](https://ericyd.hashnode.dev/loop-supreme-part-2-adding-a-metronome) +* [Part 1: New project: building a web-based audio looper!](https://ericyd.hashnode.dev/new-project-building-a-web-based-audio-looper) ## Building / running locally @@ -52,7 +78,13 @@ npm run build - https://googlechromelabs.github.io/web-audio-samples/audio-worklet/ - https://developer.chrome.com/blog/audio-worklet-design-pattern/ - https://github.com/GoogleChromeLabs/web-audio-samples/tree/main/src/audio-worklet/migration/worklet-recorder +- inspiration + - https://github.com/pkalogiros/AudioMass/ -## Icon attribution +## Acknowledgements - Metronome by ChangHoon Baek from Noun Project +- Cloudflare Pages has an amazing free hosting tier, and great admin and tooling +- create-react-app is still going strong and super useful +- [Chicle font](https://fonts.google.com/specimen/Chicle) used in the logo, copyright (c) 2011 Angel Koziupa (sudtipos@sudtipos.com) and copyright (c) 2011 Alejandro Paul (sudtipos@sudtipos.com) +- MDN, what would we do without you diff --git a/package.json b/package.json index cd7b92a..75526c7 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,6 @@ "wrangler": "^2.4.2" }, "scripts": { - "css": "npx tailwindcss -i src/index.css -o ./public/output.css", - "css:watch": "npx tailwindcss -i src/index.css -o ./public/output.css --watch", "start": "react-scripts start", "build": "react-scripts build", "postbuild": "./scripts/postbuild.sh", diff --git a/public/icons/apple-touch-icon.png b/public/icons/apple-touch-icon.png new file mode 100644 index 0000000..6ac1877 Binary files /dev/null and b/public/icons/apple-touch-icon.png differ diff --git a/public/icons/iconmonstr-refresh-2-240.ico b/public/icons/iconmonstr-refresh-2-240.ico deleted file mode 100644 index 0c31968..0000000 Binary files a/public/icons/iconmonstr-refresh-2-240.ico and /dev/null differ diff --git a/public/icons/loop-supreme-icon-192.png b/public/icons/loop-supreme-icon-192.png new file mode 100644 index 0000000..c1e2cfa Binary files /dev/null and b/public/icons/loop-supreme-icon-192.png differ diff --git a/public/icons/loop-supreme-icon-512.png b/public/icons/loop-supreme-icon-512.png new file mode 100644 index 0000000..67363ba Binary files /dev/null and b/public/icons/loop-supreme-icon-512.png differ diff --git a/public/icons/loop-supreme-icon.ico b/public/icons/loop-supreme-icon.ico new file mode 100644 index 0000000..94d2294 Binary files /dev/null and b/public/icons/loop-supreme-icon.ico differ diff --git a/public/icons/loop-supreme-icon.svg b/public/icons/loop-supreme-icon.svg new file mode 100644 index 0000000..e68502d --- /dev/null +++ b/public/icons/loop-supreme-icon.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/icons/loop-supreme-logo.png b/public/icons/loop-supreme-logo.png deleted file mode 100644 index ea776e1..0000000 Binary files a/public/icons/loop-supreme-logo.png and /dev/null differ diff --git a/public/icons/loop-supreme-logo.svg b/public/icons/loop-supreme-logo.svg deleted file mode 100644 index eead509..0000000 --- a/public/icons/loop-supreme-logo.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/index.html b/public/index.html index e421763..293e669 100644 --- a/public/index.html +++ b/public/index.html @@ -2,17 +2,17 @@ - +