Skip to content

Commit f1c72a5

Browse files
committed
feat: add macOS support and update documentation
- Add macOS-specific FFmpeg paths (Apple Silicon and Intel) - Add macOS to CI/CD workflow testing matrix - Update README.md platform badge and description to include macOS - Update all documentation files to mention macOS alongside Windows/Linux - Update CONTRIBUTING.md to include macOS testing - Update ROADMAP.md and DEVELOPMENT_GOALS.md to reflect macOS support - Add macOS-specific troubleshooting guidance
1 parent 99a4201 commit f1c72a5

8 files changed

Lines changed: 18 additions & 7 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
os: [ubuntu-latest, windows-latest]
16+
os: [ubuntu-latest, windows-latest, macos-latest]
1717
python-version: ['3.9', '3.10', '3.11', '3.12']
1818

1919
steps:
@@ -37,6 +37,11 @@ jobs:
3737
run: |
3838
choco install ffmpeg -y || echo "FFmpeg installation skipped (may need manual setup)"
3939
40+
- name: Install system dependencies (macOS)
41+
if: matrix.os == 'macos-latest'
42+
run: |
43+
brew install ffmpeg || echo "FFmpeg installation skipped (may need manual setup)"
44+
4045
- name: Install dependencies
4146
run: |
4247
python -m pip install --upgrade pip

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ python -m handforge.app
2828

2929
Currently, HandForge is primarily tested manually. When contributing:
3030

31-
- Test your changes on both Windows and Linux if possible
31+
- Test your changes on Windows, Linux, and macOS if possible
3232
- Test with various audio and video formats
3333
- Verify UI changes work correctly
3434
- Check for any regressions

DEVELOPMENT_GOALS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ This document outlines short-term and mid-term technical goals for HandForge.
4444
## Long-Term Vision (2027+)
4545

4646
### Platform Expansion
47-
- **macOS Support**: Full macOS compatibility
47+
- **macOS Enhancements**: Additional macOS-specific optimizations and features
4848
- **Mobile Apps**: Companion mobile apps for remote control
4949
- **Web Interface**: Optional web-based interface
5050

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
[![CodeQL Analysis](https://github.com/VoxHash/HandForge/actions/workflows/codeql.yml/badge.svg)](https://github.com/VoxHash/HandForge/actions/workflows/codeql.yml)
44
[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
55
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
6-
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux-lightgrey.svg)]()
6+
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)]()
77

8-
> A cross-platform audio and video converter GUI (Windows/Linux) built with PyQt6 + FFmpeg. Features a modern Glassmorphism UI design.
8+
> A cross-platform audio and video converter GUI (Windows/Linux/macOS) built with PyQt6 + FFmpeg. Features a modern Glassmorphism UI design.
99
1010
## ✨ Features
1111

ROADMAP.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ High-level milestones and planned features for HandForge.
2525
- Plugin system architecture for extensibility
2626

2727
### Platform & Integration
28-
- macOS support
28+
- Enhanced macOS compatibility and testing
2929
- Cloud storage integration
3030
- Distributed processing capabilities
3131
- Performance analytics and monitoring
3232

3333
## Future (2027+)
3434

3535
### Platform Expansion
36-
- Full macOS compatibility
36+
- Enhanced macOS features and optimizations
3737
- Companion mobile apps
3838
- Optional web-based interface
3939

docs/quick-start.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pip install -r requirements.txt
1111
# Ensure FFmpeg is installed
1212
# Windows: winget install ffmpeg
1313
# Linux: sudo apt install ffmpeg
14+
# macOS: brew install ffmpeg
1415
```
1516

1617
## Run

docs/troubleshooting.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Common issues and solutions when using HandForge.
1313
2. Ensure FFmpeg is in your system PATH
1414
3. Restart terminal/command prompt after installing FFmpeg
1515
4. On Windows, restart the computer if PATH changes don't take effect
16+
5. On macOS, ensure Homebrew paths are in PATH: `echo $PATH | grep -q /opt/homebrew/bin || export PATH="/opt/homebrew/bin:$PATH"`
1617

1718
### PyQt6 Installation Fails
1819

handforge/util/ffmpeg.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ def find_ffmpeg() -> Optional[str]:
1919
"C:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe",
2020
"/usr/bin/ffmpeg",
2121
"/usr/local/bin/ffmpeg",
22+
"/opt/homebrew/bin/ffmpeg", # macOS (Apple Silicon)
23+
"/usr/local/opt/ffmpeg/bin/ffmpeg", # macOS (Intel via Homebrew)
2224
]
2325

2426
for path in common_paths:
@@ -40,6 +42,8 @@ def find_ffprobe() -> Optional[str]:
4042
"C:\\Program Files\\ffmpeg\\bin\\ffprobe.exe",
4143
"/usr/bin/ffprobe",
4244
"/usr/local/bin/ffprobe",
45+
"/opt/homebrew/bin/ffprobe", # macOS (Apple Silicon)
46+
"/usr/local/opt/ffmpeg/bin/ffprobe", # macOS (Intel via Homebrew)
4347
]
4448

4549
for path in common_paths:

0 commit comments

Comments
 (0)