Skip to content

Commit 509b5db

Browse files
Merge pull request #8 from lacostenycoder/add-builds-on-master
add github workflow to build binaries
2 parents 8244802 + 4ae3895 commit 509b5db

File tree

2 files changed

+168
-56
lines changed

2 files changed

+168
-56
lines changed

.github/workflows/master-build.yml

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# .github/workflows/master-build.yml
2+
# Simpler version - only builds on master/main branch pushes
3+
name: Master Build
4+
5+
on:
6+
push:
7+
branches: [ master, main ]
8+
9+
jobs:
10+
build-all-platforms:
11+
strategy:
12+
matrix:
13+
include:
14+
- os: windows-latest
15+
name: windows
16+
cmake_generator: "Visual Studio 17 2022"
17+
cmake_arch: "-A x64"
18+
executable_ext: ".exe"
19+
archive_cmd: "7z a audio-level-fixer-windows.zip audio-level-fixer-windows/*"
20+
21+
- os: ubuntu-latest
22+
name: linux
23+
cmake_generator: ""
24+
cmake_arch: ""
25+
executable_ext: ""
26+
deps: "sudo apt-get update && sudo apt-get install -y cmake build-essential libasound2-dev libpulse-dev portaudio19-dev"
27+
archive_cmd: "tar -czf audio-level-fixer-linux.tar.gz audio-level-fixer-linux/"
28+
29+
- os: macos-latest
30+
name: macos-universal
31+
cmake_generator: ""
32+
cmake_arch: "-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64"
33+
executable_ext: ""
34+
deps: "brew install cmake portaudio"
35+
archive_cmd: "tar -czf audio-level-fixer-macos.tar.gz audio-level-fixer-macos/"
36+
37+
runs-on: ${{ matrix.os }}
38+
39+
steps:
40+
- name: Checkout Code
41+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871
42+
with:
43+
submodules: recursive
44+
45+
- name: Install Dependencies
46+
if: matrix.deps
47+
run: ${{ matrix.deps }}
48+
49+
- name: Setup MSVC (Windows only)
50+
if: matrix.os == 'windows-latest'
51+
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce
52+
53+
- name: Configure CMake
54+
run: |
55+
cmake -B build -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_generator }} ${{ matrix.cmake_arch }}
56+
57+
- name: Build
58+
run: cmake --build build --config Release
59+
60+
- name: Package
61+
shell: bash
62+
run: |
63+
mkdir audio-level-fixer-${{ matrix.name }}
64+
65+
# Copy executables (try different possible names)
66+
find build -name "*audio-level-fixer*" -executable -type f -exec cp {} audio-level-fixer-${{ matrix.name }}/ \; 2>/dev/null || true
67+
find build -name "*AudioLevelFixer*" -executable -type f -exec cp {} audio-level-fixer-${{ matrix.name }}/ \; 2>/dev/null || true
68+
find build -name "*.exe" -exec cp {} audio-level-fixer-${{ matrix.name }}/ \; 2>/dev/null || true
69+
find build -name "*.dll" -exec cp {} audio-level-fixer-${{ matrix.name }}/ \; 2>/dev/null || true
70+
71+
# Copy preset files and documentation
72+
cp *.preset audio-level-fixer-${{ matrix.name }}/ 2>/dev/null || true
73+
cp README.md audio-level-fixer-${{ matrix.name }}/ 2>/dev/null || true
74+
cp LICENSE.txt audio-level-fixer-${{ matrix.name }}/
75+
76+
# Make executables executable on Unix systems
77+
if [[ "${{ matrix.os }}" != "windows-latest" ]]; then
78+
chmod +x audio-level-fixer-${{ matrix.name }}/* 2>/dev/null || true
79+
fi
80+
81+
- name: Install 7z (Windows only)
82+
if: matrix.name == 'windows'
83+
shell: bash
84+
run: |
85+
if ! command -v 7z &> /dev/null; then
86+
choco install 7zip
87+
fi
88+
89+
- name: Create Archive
90+
shell: bash
91+
run: ${{ matrix.archive_cmd }}
92+
93+
- name: Upload Build Artifacts
94+
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
95+
with:
96+
name: audio-level-fixer-${{ matrix.name }}
97+
path: |
98+
*.zip
99+
*.tar.gz
100+
retention-days: 30
101+
102+
create-development-release:
103+
needs: build-all-platforms
104+
runs-on: ubuntu-latest
105+
106+
steps:
107+
- name: Checkout Code
108+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871
109+
110+
- name: Download All Artifacts
111+
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
112+
113+
- name: List Downloaded Files
114+
run: find . -name "*.zip" -o -name "*.tar.gz" | head -20
115+
116+
- name: Generate Release Notes
117+
run: |
118+
echo "# Audio Level Fixer - Development Build" > release_notes.md
119+
echo "" >> release_notes.md
120+
echo "**Build Information:**" >> release_notes.md
121+
echo "- Build Date: $(date -u '+%Y-%m-%d %H:%M:%S UTC')" >> release_notes.md
122+
echo "- Commit: \`${{ github.sha }}\`" >> release_notes.md
123+
echo "- Branch: \`${{ github.ref_name }}\`" >> release_notes.md
124+
echo "" >> release_notes.md
125+
echo "**Platforms:**" >> release_notes.md
126+
echo "- ✅ Windows (x64)" >> release_notes.md
127+
echo "- ✅ Linux (x64)" >> release_notes.md
128+
echo "- ✅ macOS (Universal Binary - Intel & Apple Silicon)" >> release_notes.md
129+
echo "" >> release_notes.md
130+
echo "**Note:** This is an automated development build. For stable releases, check the [Releases page](../../releases)." >> release_notes.md
131+
132+
- name: Create Development Release
133+
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191
134+
with:
135+
tag_name: dev-build-${{ github.run_number }}
136+
name: "Development Build #${{ github.run_number }}"
137+
body_path: release_notes.md
138+
draft: false
139+
prerelease: true
140+
files: |
141+
**/*.zip
142+
**/*.tar.gz
143+
env:
144+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

LICENSE.txt

Lines changed: 24 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,32 @@
1-
Audio Processor License Agreement
1+
GNU GENERAL PUBLIC LICENSE
2+
Version 3, 29 June 2007
23

3-
Copyright (C) 2025 Audio Processor Development Team
4+
Copyright (C) 2025 Audio Level Fixer Development Team
45

5-
IMPORTANT - READ CAREFULLY: This License Agreement ("Agreement") is a legal agreement between you (either an individual or a single entity) and the Audio Processor Development Team for the Audio Processor software product, which includes computer software and may include associated media, printed materials, and "online" or electronic documentation ("Software").
6+
This program is free software: you can redistribute it and/or modify
7+
it under the terms of the GNU General Public License as published by
8+
the Free Software Foundation, either version 3 of the License, or
9+
(at your option) any later version.
610

7-
BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THE SOFTWARE.
11+
This program is distributed in the hope that it will be useful,
12+
but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
GNU General Public License for more details.
815

9-
1. GRANT OF LICENSE
10-
Subject to the terms and conditions of this Agreement, the Audio Processor Development Team grants you a non-exclusive, non-transferable license to use the Software for personal and commercial purposes.
16+
You should have received a copy of the GNU General Public License
17+
along with this program. If not, see <https://www.gnu.org/licenses/>.
1118

12-
2. PERMITTED USES
13-
You may:
14-
- Install and use the Software on multiple computers
15-
- Use the Software for personal, educational, and commercial purposes
16-
- Create and distribute content using the Software
17-
- Modify settings and create custom presets
19+
---
1820

19-
3. RESTRICTIONS
20-
You may not:
21-
- Reverse engineer, decompile, or disassemble the Software
22-
- Remove or alter any copyright notices or other proprietary notices
23-
- Distribute, rent, lease, or sublicense the Software
24-
- Use the Software for any illegal or unauthorized purpose
21+
For the complete GPL-3.0 license terms, please visit:
22+
https://www.gnu.org/licenses/gpl-3.0.txt
2523

26-
4. VIRTUAL AUDIO DEVICE
27-
The Software includes virtual audio device functionality that integrates with your operating system's audio subsystem. By installing this Software, you acknowledge that:
28-
- The virtual audio device will be registered with your system
29-
- Other applications may detect and use this virtual audio device
30-
- The virtual audio device will be removed when you uninstall the Software
31-
32-
5. DISCLAIMER OF WARRANTIES
33-
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU.
34-
35-
6. LIMITATION OF LIABILITY
36-
IN NO EVENT SHALL THE AUDIO PROCESSOR DEVELOPMENT TEAM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE.
37-
38-
7. AUDIO PROCESSING
39-
The Software performs real-time audio processing. You acknowledge that:
40-
- Audio processing may introduce latency
41-
- Results may vary based on your hardware and system configuration
42-
- You are responsible for monitoring audio levels to prevent hearing damage
43-
- The Software is not intended for medical or safety-critical applications
44-
45-
8. PRIVACY
46-
The Software may collect anonymous usage statistics to improve functionality. No personal information or audio content is transmitted or stored by the Software.
47-
48-
9. UPDATES
49-
The Audio Processor Development Team may provide updates to the Software. Updates may modify or remove features and are subject to this Agreement.
50-
51-
10. TERMINATION
52-
This Agreement is effective until terminated. You may terminate it at any time by uninstalling the Software. This Agreement will also terminate if you fail to comply with any of its terms.
53-
54-
11. GOVERNING LAW
55-
This Agreement shall be governed by and construed in accordance with the laws of the jurisdiction in which the Audio Processor Development Team is located.
56-
57-
12. ENTIRE AGREEMENT
58-
This Agreement constitutes the entire agreement between you and the Audio Processor Development Team regarding the Software and supersedes all prior agreements and understandings.
59-
60-
By clicking "I Agree" or by installing the Software, you acknowledge that you have read this Agreement, understand it, and agree to be bound by its terms and conditions.
61-
62-
Audio Processor Development Team
63-
2025
24+
This software is licensed under GPL-3.0, which means:
25+
- You can freely use, modify, and distribute this software
26+
- Any derivative works must also be licensed under GPL-3.0
27+
- Commercial use is permitted
28+
- If you distribute binaries, you must also provide source code
29+
- No warranty is provided
6430

31+
For commercial licensing options that allow proprietary use without
32+
GPL-3.0 obligations, please contact the development team.

0 commit comments

Comments
 (0)