Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
0246732
Add fade-in/out and cropping
carlosedp Jun 2, 2025
db76240
Remove onsets demo project
carlosedp Jun 2, 2025
2ef6624
Add action to automatically publish the app to github pages
carlosedp Jun 2, 2025
3b7fde7
Fix action to use npm
carlosedp Jun 2, 2025
da3317e
Fix action to use npm
carlosedp Jun 2, 2025
bd580e4
Merge branch 'main' into production
carlosedp Jun 2, 2025
0833b9e
Fix action to use yarn
carlosedp Jun 2, 2025
9c97bfc
Bump nodejs, use yarn cache
carlosedp Jun 2, 2025
b356c72
Do not ignore yarn.lock
carlosedp Jun 2, 2025
4e30324
Update readme
carlosedp Jun 2, 2025
3b6f6da
Update index
carlosedp Jun 2, 2025
d82e2f8
Create FUNDING.yml
carlosedp Jun 2, 2025
125acc8
Create dependabot.yml
carlosedp Jun 2, 2025
afca0ea
Update dependabot.yml
carlosedp Jun 2, 2025
2801f1e
Bump actions/configure-pages from 4 to 5
dependabot[bot] Jun 2, 2025
6ee8093
Bump packages, reposition some UI elements
carlosedp Jun 2, 2025
00bc518
Remove drum sample export
carlosedp Jun 2, 2025
986571d
Merge pull request #4 from carlosedp/dependabot/github_actions/action…
carlosedp Jun 2, 2025
1cb8edd
Reformat all with prettyer
carlosedp Jun 2, 2025
82a8142
Bump version and update index
carlosedp Jun 2, 2025
9bb0902
Bump nanoid from 3.3.7 to 3.3.11 in the npm_and_yarn group
dependabot[bot] Jun 2, 2025
38166cb
Merge pull request #7 from carlosedp/dependabot/npm_and_yarn/npm_and_…
carlosedp Jun 2, 2025
f836979
Update page title
carlosedp Jun 3, 2025
f311c14
Initial fix for resampling
carlosedp Jun 4, 2025
7cbba93
Fix ongoing
carlosedp Jun 4, 2025
807200e
Only resample if samplerate is different
carlosedp Jun 4, 2025
0b053a8
Merge pull request #8 from carlosedp/fixexport
carlosedp Jun 4, 2025
0e501ca
Allow clicking to load file
carlosedp Jun 4, 2025
451342f
Make mouse scroll wheel zoom only when pointing to the waveform
carlosedp Jun 4, 2025
1a307c7
Find zero crossing for crops
carlosedp Jun 4, 2025
96fba18
Display audio duration, zoom level and crop/fade region durations
carlosedp Jun 4, 2025
4e494ce
Add cursor and timeline visualization plugins
carlosedp Jun 4, 2025
2438ec6
Fix promote command
carlosedp Jun 4, 2025
0382657
Reformat all with prettyer
carlosedp Jun 4, 2025
b51224d
Add muliple export formats. Allow loaading file without truncation. S…
carlosedp Jun 5, 2025
78e23ab
Just reload the page on reset
carlosedp Jun 5, 2025
47f26c6
Reformat all with prettyer
carlosedp Jun 5, 2025
34e72fd
Add slider tooltips, change reset shortcut.
carlosedp Jun 5, 2025
e308911
Improve layout for mobile
carlosedp Jun 5, 2025
e0b8d02
Create release automation
carlosedp Jun 5, 2025
c51f15d
Cleanup
carlosedp Jun 5, 2025
79cc67d
chore: update version to v2.0
actions-user Jun 5, 2025
005aa58
Bump prettier from 3.5.3 to 3.6.2
dependabot[bot] Jun 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github: carlosedp
patreon: carlosedp
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
47 changes: 47 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Deploy to GitHub Pages

on:
push:
branches: [production]

jobs:
deploy:
runs-on: ubuntu-latest

permissions:
contents: read
pages: write
id-token: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for git describe --tags

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
cache: "yarn"

- name: Install Yarn
run: npm install -g yarn

- name: Install dependencies
run: yarn install

- name: Build
run: yarn build

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "./dist"

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
109 changes: 109 additions & 0 deletions .github/workflows/version-and-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Version Update and Production PR

on:
push:
tags:
- "v*" # Triggers on version tags like v1.0.0, v2.1.3, etc.

jobs:
update-version-and-create-pr:
runs-on: ubuntu-latest

permissions:
contents: write
pull-requests: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Extract version from tag
id: get_version
run: |
# Get the tag name and remove the 'v' prefix if present
VERSION=${GITHUB_REF#refs/tags/}
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Version extracted: $VERSION"

- name: Update version in index.js
run: |
# Update the version in src/index.js
sed -i 's/const version = ".*";/const version = "${{ steps.get_version.outputs.version }}";/' src/index.js
echo "Updated version in src/index.js to ${{ steps.get_version.outputs.version }}"

- name: Verify version update
run: |
echo "Current version line in src/index.js:"
grep 'const version' src/index.js

- name: Setup Git
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"

- name: Create version update branch
run: |
BRANCH_NAME="version-update-${{ steps.get_version.outputs.version }}"
git checkout -b "$BRANCH_NAME"
git add src/index.js
git commit -m "chore: update version to ${{ steps.get_version.outputs.version }}"
git push origin "$BRANCH_NAME"
echo "branch_name=$BRANCH_NAME" >> $GITHUB_ENV

- name: Create Pull Request to Production
uses: actions/github-script@v7
with:
script: |
const { data: pullRequest } = await github.rest.pulls.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: `🚀 Release ${{ steps.get_version.outputs.version }} to Production`,
head: process.env.branch_name,
base: 'production',
body: `## Release ${{ steps.get_version.outputs.version }} to Production

This PR was automatically created when tag \`${{ steps.get_version.outputs.version }}\` was pushed.

### Changes
- ✅ Updated version number to \`${{ steps.get_version.outputs.version }}\` in \`src/index.js\`
- 🏷️ Tagged as \`${{ steps.get_version.outputs.version }}\`

### Deployment
Once this PR is merged to the \`production\` branch, the GitHub Pages deployment will automatically trigger.

### Review Checklist
- [ ] Version number is correct
- [ ] All features are working as expected
- [ ] Ready for production deployment

---
*This PR was created automatically by the Version Update workflow.*`
});

console.log(`Created PR #${pullRequest.number}: ${pullRequest.html_url}`);

// Add labels if they exist
try {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pullRequest.number,
labels: ['release', 'production', 'automated']
});
} catch (error) {
console.log('Note: Could not add labels (they may not exist):', error.message);
}

- name: Summary
run: |
echo "## Summary" >> $GITHUB_STEP_SUMMARY
echo "✅ Version updated to \`${{ steps.get_version.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY
echo "✅ Created branch \`${{ env.branch_name }}\`" >> $GITHUB_STEP_SUMMARY
echo "✅ Created PR to \`production\` branch" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Next steps:**" >> $GITHUB_STEP_SUMMARY
echo "1. Review and merge the PR to deploy to production" >> $GITHUB_STEP_SUMMARY
echo "2. The deployment workflow will automatically trigger on merge" >> $GITHUB_STEP_SUMMARY
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@ node_modules
.DS_Store
dist
assets
yarn.lock
.parcel-cache/
.yarn/
.yarn/
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ the Make Noise Morphagene module.

![Example of using Morphaweb](docs/example.gif)

This version adds on top of the original Morphaweb project by Eric Gao the ability to crop and add fade-ins and fade-outs to the audio files.

Demo available at:
[https://ericxgao.github.io/morphaweb-self/](https://ericxgao.github.io/morphaweb-self/)
[https://carlosedp.github.io/morphaweb/](https://carlosedp.github.io/morphaweb/)

## License

Expand Down Expand Up @@ -44,4 +46,3 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# morphaweb-self
116 changes: 116 additions & 0 deletions docs/RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Release Process

This project uses an automated release process that handles version updates and production deployments.

## Quick Release

To create a new release, you have two options:

### Option 1: Using the release script (Recommended)
```bash
# Create and push a new version tag
./scripts/release.sh v1.2.3
```

### Option 2: Using yarn
```bash
# Create and push a new version tag
yarn release v1.2.3
```

### Option 3: Manual process
```bash
# Make sure you're on main branch and it's clean
git checkout main
git pull origin main

# Create and push the tag
git tag -a v1.2.3 -m "Release v1.2.3"
git push origin v1.2.3
```

## What Happens Automatically

When you push a new version tag (like `v1.2.3`), the following happens automatically:

1. **GitHub Action Triggers**: The `Version Update and Production PR` workflow starts
2. **Version Update**: The version number in `src/index.js` is automatically updated
3. **Branch Creation**: A new branch `version-update-v1.2.3` is created with the version change
4. **Production PR**: A pull request is automatically created to merge into the `production` branch
5. **PR Details**: The PR includes:
- Updated version number
- Release notes template
- Checklist for review
- Automatic labels (if they exist)

## Production Deployment

1. **Review**: Check the automatically created PR for the version update
2. **Merge**: Once ready, merge the PR into the `production` branch
3. **Deploy**: GitHub Pages automatically deploys from the `production` branch
4. **Live**: Your new version is now live!

## Branch Structure

- `main`: Development branch where you work on features
- `production`: Production branch that gets deployed to GitHub Pages
- `version-update-*`: Temporary branches created for version updates

## Version Format

Use semantic versioning format: `v1.2.3` where:
- `1` = Major version (breaking changes)
- `2` = Minor version (new features)
- `3` = Patch version (bug fixes)

Examples:
- `v1.0.0` - Initial release
- `v1.1.0` - New features added
- `v1.1.1` - Bug fixes
- `v2.0.0` - Breaking changes

## Troubleshooting

### Tag already exists
```bash
# Delete local tag
git tag -d v1.2.3

# Delete remote tag
git push --delete origin v1.2.3

# Create new tag
git tag -a v1.2.3 -m "Release v1.2.3"
git push origin v1.2.3
```

### Working directory not clean
```bash
# Stash changes
git stash

# Or commit changes
git add .
git commit -m "Your commit message"
```

## Manual Override

If you need to update the version manually:

1. Edit `src/index.js` and change the version line:
```javascript
const version = "v1.2.3";
```

2. Commit and push to main:
```bash
git add src/index.js
git commit -m "chore: update version to v1.2.3"
git push origin main
```

3. Use the existing promote script:
```bash
yarn promote
```
6,042 changes: 6,032 additions & 10 deletions lib/onsets.module.js

Large diffs are not rendered by default.

6,040 changes: 6,029 additions & 11 deletions lib/polarFFT.module.js

Large diffs are not rendered by default.

6 changes: 0 additions & 6 deletions onsets/.babelrc

This file was deleted.

1 change: 0 additions & 1 deletion onsets/.gitignore

This file was deleted.

51 changes: 0 additions & 51 deletions onsets/package.json

This file was deleted.

Loading