Skip to content

Commit c938cc8

Browse files
committed
Release v1.0.0 - First stable release
πŸŽ‰ JamWide 1.0.0 - First stable release Highlights: - Full NINJAM protocol support (connect, transmit, receive audio) - Cross-platform: macOS (Intel + Apple Silicon) and Windows - Plugin formats: CLAP, VST3, Audio Unit v2 - Tested in: Ableton Live, REAPER, Bitwig Studio, Logic Pro, GarageBand Changes: - Removed unused REAPER integration code (hwnd_info API) - Cleaned up final NINJAMβ†’JamWide naming references - Updated all documentation to stable release status
1 parent 7ff21fd commit c938cc8

12 files changed

Lines changed: 101 additions & 295 deletions

File tree

β€ŽCHANGELOG.mdβ€Ž

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,37 @@ All notable changes to JamWide will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.0.0] - 2026-01-14
9+
10+
### πŸŽ‰ First Stable Release
11+
12+
JamWide 1.0 is the first stable release of the modern NINJAM client plugin.
13+
14+
### Highlights
15+
- Full NINJAM protocol support (connect, transmit, receive audio)
16+
- Cross-platform: macOS (Intel + Apple Silicon) and Windows
17+
- Plugin formats: CLAP, VST3, Audio Unit v2
18+
- Tested in: Ableton Live, REAPER, Bitwig Studio, Logic Pro, GarageBand
19+
20+
### All Features
21+
- Server browser with live user lists (autosong.ninjam.com)
22+
- Real-time chat with message history and timestamps
23+
- Visual timing guide for beat alignment
24+
- Per-channel volume, pan, mute, and solo controls
25+
- VU meters for all channels
26+
- BPM/BPI voting via chat commands
27+
- Anonymous login support
28+
- 256 kbps default audio quality (OGG/Vorbis)
29+
- State persistence (save/load with DAW projects)
30+
- Parameter automation (master volume/mute, metronome volume/mute)
31+
32+
### Changed
33+
- Removed unused REAPER integration code (hwnd_info API)
34+
- Cleaned up final NINJAM→JamWide naming references
35+
36+
### Fixed
37+
- All known issues from beta testing resolved
38+
839
## [0.133] - 2026-01-14
940

1041
### Fixed

β€ŽCMakeLists.txtβ€Ž

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ target_include_directories(jamwide-impl PRIVATE
162162
if(APPLE)
163163
target_sources(jamwide-impl PRIVATE
164164
src/platform/gui_macos.mm
165-
src/platform/reaper_integration.mm
166165
)
167166
elseif(WIN32)
168167
target_sources(jamwide-impl PRIVATE src/platform/gui_win32.cpp)

β€ŽREADME.mdβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ A modern audio plugin client for [NINJAM](https://www.cockos.com/ninjam/) β€” th
77
![License](https://img.shields.io/badge/license-GPL--2.0-blue.svg)
88
![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows-lightgrey.svg)
99
![Formats](https://img.shields.io/badge/formats-CLAP%20%7C%20VST3%20%7C%20AU-blue.svg)
10-
![Version](https://img.shields.io/badge/version-v0.135-blue.svg)
11-
![Status](https://img.shields.io/badge/status-beta-yellow.svg)
10+
![Version](https://img.shields.io/badge/version-v1.0.0-blue.svg)
11+
![Status](https://img.shields.io/badge/status-stable-green.svg)
1212

1313
## What is NINJAM?
1414

β€Ždocs/download.mdβ€Ž

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ title: Download
77

88
Get the latest version of JamWide for your platform.
99

10-
> ⚠️ **Beta Release**
11-
> JamWide is in beta. Tested and working on macOS and Windows. Expect some rough edges. Feedback welcome!
12-
1310
---
1411

1512
## Latest Release

β€Ždocs/index.mdβ€Ž

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ title: Home
88
<h1>JamWide</h1>
99
<p class="tagline">Jam with musicians worldwide β€” right inside your DAW</p>
1010

11-
<p class="beta-notice">🎸 <strong>Beta Release</strong> β€” Help us test before 1.0!</p>
12-
1311
<p>
1412
<a href="/download" class="btn btn-primary">Download</a>
1513
<a href="https://github.com/mkschulze/JamWide" class="btn">View on GitHub</a>

β€Žinstall.shβ€Ž

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,48 @@
1-
#!/bin/bash
2-
# Build and install JamWide plugin
3-
4-
set -e
5-
6-
cd "$(dirname "$0")"
7-
8-
# Increment build number
9-
BUILD_FILE="src/build_number.h"
10-
if [ -f "$BUILD_FILE" ]; then
11-
CURRENT=$(grep JAMWIDE_BUILD_NUMBER "$BUILD_FILE" | grep -o '[0-9]*')
12-
NEW=$((CURRENT + 1))
13-
echo "#pragma once" > "$BUILD_FILE"
14-
echo "#define JAMWIDE_BUILD_NUMBER $NEW" >> "$BUILD_FILE"
15-
echo "Build number: r$NEW"
16-
fi
17-
18-
# Build
19-
cmake --build build
20-
21-
# Install locations (user)
22-
CLAP_DIR="$HOME/Library/Audio/Plug-Ins/CLAP"
23-
VST3_DIR="$HOME/Library/Audio/Plug-Ins/VST3"
24-
AU_DIR="$HOME/Library/Audio/Plug-Ins/Components"
25-
26-
# Create directories
27-
mkdir -p "$CLAP_DIR" "$VST3_DIR" "$AU_DIR"
28-
29-
# Install CLAP
30-
rm -rf "$CLAP_DIR/JamWide.clap"
31-
cp -R build/JamWide.clap "$CLAP_DIR/"
32-
SetFile -a B "$CLAP_DIR/JamWide.clap"
33-
echo "Installed JamWide.clap to $CLAP_DIR"
34-
35-
# Install VST3
36-
rm -rf "$VST3_DIR/JamWide.vst3"
37-
cp -R build/JamWide.vst3 "$VST3_DIR/"
38-
SetFile -a B "$VST3_DIR/JamWide.vst3"
39-
echo "Installed JamWide.vst3 to $VST3_DIR"
40-
41-
# Install AU
42-
rm -rf "$AU_DIR/JamWide.component"
43-
cp -R build/JamWide.component "$AU_DIR/"
44-
SetFile -a B "$AU_DIR/JamWide.component"
45-
echo "Installed JamWide.component to $AU_DIR"
46-
47-
echo ""
48-
echo "JamWide r$NEW installed (CLAP, VST3, AU)"
1+
#!/bin/bash
2+
# Build and install JamWide plugin
3+
4+
set -e
5+
6+
cd "$(dirname "$0")"
7+
8+
# Increment build number
9+
BUILD_FILE="src/build_number.h"
10+
if [ -f "$BUILD_FILE" ]; then
11+
CURRENT=$(grep JAMWIDE_BUILD_NUMBER "$BUILD_FILE" | grep -o '[0-9]*')
12+
NEW=$((CURRENT + 1))
13+
echo "#pragma once" > "$BUILD_FILE"
14+
echo "#define JAMWIDE_BUILD_NUMBER $NEW" >> "$BUILD_FILE"
15+
echo "Build number: r$NEW"
16+
fi
17+
18+
# Build
19+
cmake --build build
20+
21+
# Install locations (user)
22+
CLAP_DIR="$HOME/Library/Audio/Plug-Ins/CLAP"
23+
VST3_DIR="$HOME/Library/Audio/Plug-Ins/VST3"
24+
AU_DIR="$HOME/Library/Audio/Plug-Ins/Components"
25+
26+
# Create directories
27+
mkdir -p "$CLAP_DIR" "$VST3_DIR" "$AU_DIR"
28+
29+
# Install CLAP
30+
rm -rf "$CLAP_DIR/JamWide.clap"
31+
cp -R build/JamWide.clap "$CLAP_DIR/"
32+
SetFile -a B "$CLAP_DIR/JamWide.clap"
33+
echo "Installed JamWide.clap to $CLAP_DIR"
34+
35+
# Install VST3
36+
rm -rf "$VST3_DIR/JamWide.vst3"
37+
cp -R build/JamWide.vst3 "$VST3_DIR/"
38+
SetFile -a B "$VST3_DIR/JamWide.vst3"
39+
echo "Installed JamWide.vst3 to $VST3_DIR"
40+
41+
# Install AU
42+
rm -rf "$AU_DIR/JamWide.component"
43+
cp -R build/JamWide.component "$AU_DIR/"
44+
SetFile -a B "$AU_DIR/JamWide.component"
45+
echo "Installed JamWide.component to $AU_DIR"
46+
47+
echo ""
48+
echo "JamWide r$NEW installed (CLAP, VST3, AU)"

β€Žmemory-bank/activeContext.mdβ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
## Current Session Focus
44

55
**Date:** 2026-01-14
6-
**Phase:** 6 - Beta Release
7-
**Status:** βœ… v0.135 Released - Approaching 1.0
6+
**Phase:** 7 - Stable Release
7+
**Status:** βœ… v1.0.0 Released
88

9-
## Latest Build: r135
9+
## Latest Build: r137
1010

1111
### What's Working
1212
- βœ… Plugin loads in GarageBand, Logic Pro (AU), REAPER (CLAP/VST3) - macOS

β€Žmemory-bank/progress.mdβ€Ž

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# JamWide - Implementation Progress
22

33
**Project Start:** January 2026
4-
**Current Build:** r135 (v0.135)
5-
**Status:** βœ… Beta - Ready for user testing, approaching 1.0
4+
**Current Build:** r137 (v1.0.0)
5+
**Status:** βœ… Stable Release - v1.0.0
66
**Target Platforms:** Windows 10+ (MSVC), macOS 10.15+ (Xcode/Clap)
77
**Plugin Formats:** CLAP, VST3, Audio Unit v2 (via clap-wrapper)
88
**UI Framework:** Dear ImGui (Metal on macOS, D3D11 on Windows)
@@ -149,17 +149,17 @@
149149
| Server browser UI | βœ… | New panel with refresh button |
150150
| Shared_ptr plugin keepalive | βœ… | Prevents use-after-free in run thread |
151151
| License callback unlock | βœ… | Release client_mutex while waiting on UI |
152-
| End-to-end test: connect, transmit, receive | ⬜ | Use public NINJAM server |
153-
| Verify multi-instance works | ⬜ | No globals except read-only descriptor |
154-
| State persistence test | ⬜ | Save project, reload, verify settings |
155-
| Parameter automation test | ⬜ | Automate master volume in DAW |
156-
| Memory leak check (Windows) | ⬜ | Visual Studio diagnostics |
157-
| Memory leak check (macOS) | ⬜ | Instruments/Leaks |
152+
| End-to-end test: connect, transmit, receive | βœ… | Verified with public NINJAM servers |
153+
| Verify multi-instance works | βœ… | No globals except read-only descriptor |
154+
| State persistence test | βœ… | Save project, reload, verify settings |
155+
| Parameter automation test | βœ… | Verified in DAW |
156+
| Memory leak check (Windows) | βœ… | No issues observed |
157+
| Memory leak check (macOS) | βœ… | No issues observed |
158158
| Windows build system setup | βœ… | install-win.ps1 created, VS 2022/2026 tested |
159-
| Test in REAPER (Win) | πŸ”„ | Ready for testing |
160-
| Test in REAPER (macOS) | ⬜ | |
161-
| Test in Bitwig (Win) | πŸ”„ | Ready for testing |
162-
| Test in Bitwig (macOS) | ⬜ | |
159+
| Test in REAPER (Win) | βœ… | Verified working |
160+
| Test in REAPER (macOS) | βœ… | Verified working |
161+
| Test in Bitwig (Win) | βœ… | Verified working |
162+
| Test in Bitwig (macOS) | βœ… | Verified working |
163163

164164
**Deliverable:** Release candidate
165165

β€Žsrc/build_number.hβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
#pragma once
2-
#define JAMWIDE_BUILD_NUMBER 135
1+
#pragma once
2+
#define JAMWIDE_BUILD_NUMBER 137

β€Žsrc/platform/reaper_integration.hβ€Ž

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
Β (0)