DirectPipe는 Windows, macOS, Linux를 지원합니다. 플랫폼에 따라 기능과 설정이 다릅니다.
DirectPipe supports Windows, macOS, and Linux. Features and setup vary by platform.
| 기능 / Feature | Windows | macOS | Linux |
|---|---|---|---|
| 상태 / Status | 안정 (Stable) | 베타 (Beta) | 실험적 (Experimental) |
| 오디오 드라이버 | WASAPI Shared/Exclusive, ASIO | CoreAudio | ALSA, JACK |
| VST2 호스팅 | O | O | O |
| VST3 호스팅 | O | O | O |
| AU 호스팅 | - | O | - |
| 글로벌 핫키 | RegisterHotKey (Win32) | CGEventTap (접근성 권한 필요) | Stub (미지원) |
| 모니터 출력 | WASAPI (별도 디바이스) | CoreAudio (별도 디바이스) | ALSA/JACK |
| 자동 시작 | Registry (HKCU\Run) | LaunchAgent (plist) | XDG autostart (.desktop) |
| 다중 인스턴스 | Named Mutex | InterProcessLock | InterProcessLock |
| 시스템 트레이 | O | O (macOS 메뉴바) | O (DE 지원 시) |
| 자동 업데이트 | O (인앱 다운로드+재시작) | 알림만 (GitHub 링크) | 알림만 (GitHub 링크) |
| Receiver VST2 | .dll | .vst (bundle) | .so |
| Receiver VST3 | .vst3 | .vst3 (bundle) | .vst3 |
| Receiver AU | - | .component | - |
5가지 드라이버 지원:
- Windows Audio (WASAPI Shared) — 추천. 비독점, 다른 앱과 동시 사용 가능
- Windows Audio (Low Latency) — IAudioClient3, 하드웨어 의존
- Windows Audio (Exclusive Mode) — 독점 모드, 다른 앱 사운드 차단
- DirectSound — 레거시, 사용 비추천
- ASIO — 전문 오디오 인터페이스용, 최저 지연
RegisterHotKey API로 시스템 전역 단축키 등록. 최소화/트레이 상태에서도 동작.
별도 권한 필요 없음.
레지스트리 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run에 등록.
설정 탭 또는 트레이 메뉴에서 토글.
GitHub Releases에서 자동 다운로드 → exe 교체 → 재시작. "Update Now" 버튼.
DirectPipe Receiver.dll을 VST2 폴더에 복사:
C:\Program Files\VSTPlugins\(추천)C:\Program Files\Common Files\VST2\
VST3: DirectPipe Receiver.vst3를 VST3 폴더에 복사:
C:\Program Files\Common Files\VST3\
- CoreAudio — macOS 기본 오디오 시스템. 별도 드라이버 설치 불필요.
CGEventTap으로 시스템 전역 키 이벤트 캡처. 접근성 권한이 필요합니다.
- DirectPipe 최초 실행 시 접근성 권한 요청 다이얼로그 표시
- 시스템 설정 → 개인 정보 보호 및 보안 → 접근성 → DirectPipe 허용
- 권한을 허용하지 않으면 핫키는 작동하지 않음 (MIDI/Stream Deck/HTTP로 대체 가능)
System Settings → Privacy & Security → Accessibility → Allow DirectPipe. Without this permission, hotkeys won't work (use MIDI/Stream Deck/HTTP as alternatives).
코드 서명이 없으므로 첫 실행 시 Gatekeeper 경고가 나타납니다:
- Finder에서 DirectPipe.app 우클릭 → 열기 → 열기 클릭
- 또는: 시스템 설정 → 개인 정보 보호 및 보안 → 하단의 "확인 없이 열기"
Right-click → Open → Open. Or: System Settings → Privacy & Security → "Open Anyway".
~/Library/LaunchAgents/com.directpipe.host.plist 파일 생성/삭제.
설정 탭 또는 트레이 메뉴에서 토글.
새 버전 감지 시 "View on GitHub" 버튼으로 릴리즈 페이지 안내. 수동 다운로드 필요.
macOS does not support in-app auto-update. Click "View on GitHub" to download manually.
VST2 (OBS용): DirectPipe Receiver.vst를 VST 폴더에 복사:
~/Library/Audio/Plug-Ins/VST//Library/Audio/Plug-Ins/VST/
VST3: DirectPipe Receiver.vst3를 VST3 폴더에 복사:
~/Library/Audio/Plug-Ins/VST3/
AU: DirectPipe Receiver.component를 AU 폴더에 복사:
~/Library/Audio/Plug-Ins/Components/
OBS on macOS only supports VST2 filters. Use the .vst bundle for OBS.
DirectPipe는 Hardened Runtime 공증(notarization)을 위해 아래 엔타이틀먼트를 포함합니다 (host/Resources/Entitlements.plist):
DirectPipe includes the following entitlements for Hardened Runtime notarization (host/Resources/Entitlements.plist):
com.apple.security.device.audio-input— 마이크 접근 / Microphone accesscom.apple.security.cs.allow-unsigned-executable-memory— VST 플러그인 로딩 (JIT/dynamic code) / VST plugin loadingcom.apple.security.cs.disable-library-validation— 서드파티 VST/AU dylib 로딩 / Third-party plugin loading
Info.plist에도 아래 권한 설명이 포함됩니다 / Info.plist includes these usage descriptions:
NSMicrophoneUsageDescription— 마이크 권한 다이얼로그 / Microphone permission dialogNSAccessibilityUsageDescription— 접근성 권한 다이얼로그 (핫키용) / Accessibility dialog (for hotkeys)NSLocalNetworkUsageDescription— 네트워크 권한 (WebSocket/HTTP 서버) / Network (WebSocket/HTTP server)
- ASIO 미지원 (macOS에 ASIO 없음, CoreAudio가 네이티브 저지연 지원)
- 인앱 자동 업데이트 미지원 (GitHub 링크로 수동 다운로드)
- WASAPI 관련 기능 비활성 (Exclusive Mode, Low Latency 등)
- ALSA — 기본 Linux 오디오
- JACK — 전문 오디오 (낮은 지연, 유연한 라우팅)
PipeWire를 사용하는 경우 JACK 호환 레이어를 통해 동작합니다. If using PipeWire, it works through the JACK compatibility layer.
# Ubuntu/Debian
sudo apt-get install libasound2-dev libjack-jackd2-dev \
libfreetype-dev libx11-dev libxrandr-dev libxinerama-dev \
libxcursor-dev libgl-dev
# Fedora
sudo dnf install alsa-lib-devel jack-audio-connection-kit-devel \
freetype-devel libX11-devel libXrandr-devel libXinerama-devel \
libXcursor-devel mesa-libGL-devel
libwebkit2gtk와libcurl은 필요 없음 (JUCE_WEB_BROWSER=0,JUCE_USE_CURL=0).libwebkit2gtkandlibcurlare NOT required (JUCE_WEB_BROWSER=0,JUCE_USE_CURL=0).
현재 Linux에서는 글로벌 핫키가 지원되지 않습니다 (stub). MIDI, HTTP API, WebSocket으로 제어하세요.
Global hotkeys are not supported on Linux (stub). Use MIDI, HTTP API, or WebSocket for control.
XDG autostart 표준을 따릅니다. ~/.config/autostart/directpipe.desktop 파일 생성/삭제.
VST2: DirectPipe Receiver.so를 VST 폴더에 복사:
~/.vst//usr/lib/vst//usr/local/lib/vst/
VST3: DirectPipe Receiver.vst3를 VST3 폴더에 복사:
~/.vst3//usr/lib/vst3//usr/local/lib/vst3/
- 글로벌 핫키 미지원
- 시스템 트레이: 데스크톱 환경에 따라 다름 (GNOME은 확장 필요)
- 인앱 자동 업데이트 미지원
- 테스트가 제한적 (실험적 지원)
백업 파일(.dpbackup, .dpfullbackup)에는 platform 필드가 포함됩니다. 같은 OS끼리만 복원 가능합니다. 다른 OS에서 만든 백업을 복원하려 하면 경고 다이얼로그가 표시되고 차단됩니다.
Backup files (.dpbackup, .dpfullbackup) include a platform field. Restore is only supported between the same OS. Attempting to restore a backup from a different OS shows a warning dialog and is blocked.
이유 / Reason:
- 오디오 드라이버 타입이 OS별로 다름 (WASAPI vs CoreAudio vs ALSA)
- VST 플러그인 경로가 OS별로 다름 (
C:\Program Files\...vs/Library/Audio/...) - 핫키 코드가 OS별로 다름 (Windows VK codes vs macOS key codes)
- 오디오 장치 이름이 OS별로 다름
platform필드가 없는 레거시 백업(v3.10.0 이전)은 호환성을 위해 허용됩니다. Legacy backups withoutplatformfield (pre-v3.10.0) are accepted for compatibility.
.dppreset 파일은 VST 체인만 포함하므로 이론적으로 크로스 플랫폼 호환이 가능하나, 플러그인 경로와 포맷이 OS별로 다르므로 실제로는 같은 OS에서 사용하는 것을 권장합니다.
.dppreset files contain only the VST chain, so they're theoretically cross-platform compatible. However, plugin paths and formats differ per OS, so using presets on the same OS is recommended in practice.
플랫폼별로 다른 CJK 폰트를 자동 선택합니다:
- Windows: Malgun Gothic, Microsoft YaHei, Yu Gothic
- macOS: Apple SD Gothic Neo, PingFang SC, Hiragino Sans
- Linux: Noto Sans CJK KR, Noto Sans CJK SC, DejaVu Sans
Platform-specific CJK fonts are auto-selected for correct rendering of Korean, Chinese, and Japanese characters.
각 플랫폼별 빌드 방법은 Build Guide를 참조하세요.
See Build Guide for platform-specific build instructions.