OK, rename
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
# poof
|
# rsgp
|
||||||
|
|
||||||
Audio synthesis web application for generating random sound samples. Users generate sounds via different synthesis engines, mutate parameters, apply audio processors in multiple passes, and export as WAV. Built for musicians seeking unexpected textures and one-shots.
|
Audio synthesis web application for generating random sound samples. Users generate sounds via different synthesis engines, mutate parameters, apply audio processors in multiple passes, and export as WAV. Built for musicians seeking unexpected textures and one-shots.
|
||||||
|
|
||||||
@ -39,8 +39,8 @@ pnpm build
|
|||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker build -t poof .
|
docker build -t rsgp .
|
||||||
docker run -p 8080:80 poof
|
docker run -p 8080:80 rsgp
|
||||||
```
|
```
|
||||||
|
|
||||||
Opens on http://localhost:8080
|
Opens on http://localhost:8080
|
||||||
|
|||||||
@ -4,9 +4,9 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta name="description" content="Poof: a sample generator" />
|
<meta name="description" content="RSGP: Random Sample Generator and Processor" />
|
||||||
<meta name="theme-color" content="#000000" />
|
<meta name="theme-color" content="#000000" />
|
||||||
<title>Poof</title>
|
<title>RSGP</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "poof",
|
"name": "rsgp",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
BIN
public/tutorial.gif
Normal file
BIN
public/tutorial.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 972 KiB |
@ -532,7 +532,7 @@
|
|||||||
<line x1="3" y1="18" x2="21" y2="18" />
|
<line x1="3" y1="18" x2="21" y2="18" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<h1 class="app-title">Poof: a sample generator and processor</h1>
|
<h1 class="app-title">RSGP: Random Sample Generator and Processor</h1>
|
||||||
<div class="controls-group">
|
<div class="controls-group">
|
||||||
{#if showPitchLock}
|
{#if showPitchLock}
|
||||||
<div class="control-item pitch-lock-control">
|
<div class="control-item pitch-lock-control">
|
||||||
|
|||||||
@ -21,39 +21,35 @@
|
|||||||
onclick={(e) => e.stopPropagation()}
|
onclick={(e) => e.stopPropagation()}
|
||||||
onkeydown={(e) => e.stopPropagation()}
|
onkeydown={(e) => e.stopPropagation()}
|
||||||
>
|
>
|
||||||
<h1 id="modal-title">Poof: a sample generator</h1>
|
<h1 id="modal-title">Random Sample Generator and Processor</h1>
|
||||||
<p class="description">
|
<div class="modal-columns">
|
||||||
Do you need to generate audio samples for your projects? Poof, it's
|
<div class="modal-column gif-column">
|
||||||
already done! These are not the best samples you'll ever hear, but they
|
<img src="/tutorial.gif" alt="Tutorial showing how to use RSGP" class="tutorial-gif" />
|
||||||
have the right to exist, nonetheless, in the realm of all the random and
|
</div>
|
||||||
haphazardly generated digital sounds. Have fun, give computers some love!
|
<div class="modal-column text-column">
|
||||||
</p>
|
<ol>
|
||||||
<ul>
|
<li class="description">
|
||||||
<li class="description">
|
Generate new samples using a diverse collection of synth engines.
|
||||||
Generate audio samples using various audio synthesis generators. Random
|
</li>
|
||||||
parameters.
|
<li class="description">
|
||||||
</li>
|
Process samples using a growing list of tools and effects.
|
||||||
<li class="description">
|
</li>
|
||||||
Process each sound with with a growing collection of random effects.
|
<li class="description">Export your samples as WAV files.</li>
|
||||||
</li>
|
</ol>
|
||||||
<li class="description">Export your samples as WAV files.</li>
|
</div>
|
||||||
</ul>
|
|
||||||
<div class="modal-links">
|
|
||||||
<p>
|
|
||||||
Created by <a
|
|
||||||
href="https://raphaelforment.fr"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer">Raphaël Forment (BuboBubo)</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Licensed under <a
|
|
||||||
href="https://www.gnu.org/licenses/gpl-3.0.html"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer">GPL 3.0</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
<p class="modal-footer">
|
||||||
|
Created by <a
|
||||||
|
href="https://raphaelforment.fr"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer">Raphaël Forment (BuboBubo)</a
|
||||||
|
>
|
||||||
|
• Licensed under <a
|
||||||
|
href="https://www.gnu.org/licenses/gpl-3.0.html"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer">GPL 3.0</a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
<button class="modal-close" onclick={onclose}>Start</button>
|
<button class="modal-close" onclick={onclose}>Start</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -98,7 +94,7 @@
|
|||||||
background-color: #000;
|
background-color: #000;
|
||||||
border: 2px solid #fff;
|
border: 2px solid #fff;
|
||||||
padding: 1.25rem;
|
padding: 1.25rem;
|
||||||
max-width: 500px;
|
max-width: 800px;
|
||||||
width: calc(100% - 2rem);
|
width: calc(100% - 2rem);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
max-height: 90vh;
|
max-height: 90vh;
|
||||||
@ -108,60 +104,92 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.modal-content h1 {
|
.modal-content h1 {
|
||||||
margin: 0 0 0.5rem 0;
|
margin: 0 0 1.575rem 0;
|
||||||
font-size: 1.75rem;
|
font-size: 1.25rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
letter-spacing: 0.02em;
|
letter-spacing: 0.02em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-columns {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1.575rem;
|
||||||
|
margin-bottom: 1.575rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-column {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gif-column {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
max-width: 420px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-column {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-column ol {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-content .description {
|
.modal-content .description {
|
||||||
margin: 0 0 1rem 0;
|
margin: 0;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
color: #e0e0e0;
|
color: #e0e0e0;
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tutorial-gif {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
border: 1px solid #444;
|
||||||
|
}
|
||||||
|
|
||||||
.modal-content ul {
|
.modal-content ul {
|
||||||
margin: 0 0 1rem 0;
|
margin: 0 0 1rem 0;
|
||||||
padding-left: 1.25rem;
|
padding-left: 1.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-content ul li {
|
.modal-content ul li {
|
||||||
margin-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-content ul li:last-child {
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-links {
|
.text-column ol li {
|
||||||
margin: 1.25rem 0;
|
margin-bottom: 0;
|
||||||
padding: 0.875rem 0;
|
|
||||||
border-top: 1px solid #444;
|
|
||||||
border-bottom: 1px solid #444;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-links p {
|
.modal-footer {
|
||||||
margin: 0.375rem 0;
|
margin: 0 0 1.575rem 0;
|
||||||
font-size: 0.8125rem;
|
font-size: 0.75rem;
|
||||||
color: #bbb;
|
color: #bbb;
|
||||||
line-height: 1.5;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-links a {
|
.modal-footer a {
|
||||||
color: #646cff;
|
color: #646cff;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
word-break: break-word;
|
|
||||||
transition: color 0.2s ease;
|
transition: color 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-links a:hover {
|
.modal-footer a:hover {
|
||||||
color: #8891ff;
|
color: #8891ff;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-close {
|
.modal-close {
|
||||||
margin-top: 1rem;
|
margin-top: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
@ -194,8 +222,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.modal-content h1 {
|
.modal-content h1 {
|
||||||
font-size: 2rem;
|
font-size: 1.5rem;
|
||||||
margin: 0 0 0.75rem 0;
|
margin: 0 0 1.575rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-content .description {
|
.modal-content .description {
|
||||||
@ -213,32 +241,33 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.modal-content h1 {
|
.modal-content h1 {
|
||||||
font-size: 2.5rem;
|
font-size: 1.75rem;
|
||||||
margin: 0 0 1rem 0;
|
margin: 0 0 2.1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-columns {
|
||||||
|
flex-direction: row;
|
||||||
|
gap: 2.1rem;
|
||||||
|
margin-bottom: 2.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-content .description {
|
.modal-content .description {
|
||||||
margin: 0 0 1.25rem 0;
|
margin: 0;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-content ul {
|
.modal-content ul {
|
||||||
margin: 0 0 1.25rem 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-links {
|
.modal-footer {
|
||||||
margin: 1.75rem 0;
|
margin: 0 0 2.1rem 0;
|
||||||
padding: 1.125rem 0;
|
font-size: 0.875rem;
|
||||||
}
|
|
||||||
|
|
||||||
.modal-links p {
|
|
||||||
font-size: 0.9375rem;
|
|
||||||
margin: 0.5rem 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-close {
|
.modal-close {
|
||||||
margin-top: 1.25rem;
|
margin-top: 0;
|
||||||
padding: 0.875rem;
|
padding: 0.875rem;
|
||||||
font-size: 1.125rem;
|
font-size: 1.125rem;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user