Skip to content

Commit eab30e3

Browse files
committed
fix(windows): simplify text input message hook for r135
Previous approach manually dispatched messages which broke normal flow. Now simply redirects keyboard messages to dummy edit hwnd. Also updates README and docs for v0.135.
1 parent 7d0cb9c commit eab30e3

File tree

11 files changed

+849
-860
lines changed

11 files changed

+849
-860
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ 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.133-blue.svg)
10+
![Version](https://img.shields.io/badge/version-v0.135-blue.svg)
1111
![Status](https://img.shields.io/badge/status-beta-yellow.svg)
1212

1313
## What is NINJAM?

docs/download.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ title: Download
88
Get the latest version of JamWide for your platform.
99

1010
> ⚠️ **Beta Release**
11-
> JamWide is in beta. Tested and working on macOS. Windows build system is complete, but runtime testing is still in progress with known bugs. Expect issues and missing features. Feedback welcome!
11+
> JamWide is in beta. Tested and working on macOS and Windows. Expect some rough edges. Feedback welcome!
1212
1313
---
1414

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: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
**Date:** 2026-01-14
66
**Phase:** 6 - Beta Release
7-
**Status:** ✅ v0.133 Released - Approaching 1.0
7+
**Status:** ✅ v0.135 Released - Approaching 1.0
88

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

1111
### What's Working
1212
- ✅ Plugin loads in GarageBand, Logic Pro (AU), REAPER (CLAP/VST3) - macOS
@@ -29,14 +29,14 @@
2929
- ✅ Anonymous login support
3030
- ✅ Window size 800x1200 for AU (Logic/GarageBand compatibility)
3131

32-
### Recent Changes (v0.119-v0.133)
32+
### Recent Changes (v0.117-v0.135)
3333
| Version | Change |
3434
|---------|--------|
35+
| v0.135 | Fix: Windows text input (simplified message hook routing) |
3536
| v0.133 | Fix: Solo crash (mutex deadlock), Windows keyboard duplication |
3637
| v0.132 | macOS/REAPER: Keyboard hint, Chat focus retention, UI polish |
3738
| v0.120 | Pulled Windows bug fix, verified macOS build works |
3839
| v0.119 | Windows: Message hook prevents DAW accelerators during text input |
39-
| v0.117 | Windows: Dummy EDIT control + IME/focus forwarding + null guards |
4040

4141
### Known Issues
4242
| Issue | Platform | Status |

0 commit comments

Comments
 (0)