Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Player enhancements #223

Merged
merged 52 commits into from
Mar 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
b57a4d6
Move player's files into own directories
winterheart Nov 13, 2020
a4c1a49
Initial implementation of sound drivers support
winterheart Nov 14, 2020
e94c327
Move OpenAL and WAVE output drivers into own files
winterheart Nov 15, 2020
0f46ec6
Fix compilation with Windows/MINGW
winterheart Nov 15, 2020
7928bc4
Move ALSA and OSS output drivers into own files
winterheart Nov 15, 2020
c53d10e
Move Win32 MM output driver into own files
winterheart Nov 15, 2020
b47aa44
Move AHI, DART and DOSSB output drivers into own files
winterheart Nov 15, 2020
9028e82
Move platform specific functions to own files
winterheart Nov 17, 2020
9621bf4
Fix compilation for OS/2
winterheart Nov 17, 2020
b58d885
Fix DOS SB output driver compilation
winterheart Nov 20, 2020
0bba46a
Remove unused #ifdefs
winterheart Nov 20, 2020
889a837
Unify output for files and devices
winterheart Nov 20, 2020
94f5f4c
Move player CMake configuration into own directory
winterheart Nov 21, 2020
bdf5cae
Update man page for player
winterheart Nov 21, 2020
6e401be
Implement default playback output
winterheart Nov 21, 2020
5684166
Update Github Actions build flow
winterheart Nov 21, 2020
7187dba
Properly define multiconf generator types
winterheart Nov 21, 2020
77d942d
fixed macosx and mingw builds using the standalone makefiles
sezero Mar 27, 2024
ecd4950
fixed amiga builds.
sezero Mar 27, 2024
77cb20d
renamed UNUSED macro to WMPLAY_UNUSED
sezero Mar 27, 2024
0019aea
remove unnecessary AUDIODRV_* dependent includes from player/fileops.h
sezero Mar 27, 2024
1b397db
wildmidi.c: put back the --device cmdline option for compatibility,
sezero Mar 27, 2024
ae34902
fixed MSVC C4255 warnings
sezero Mar 27, 2024
fd21541
reduced MSVC warning level to /W3 for player code.
sezero Mar 27, 2024
3c0ebd1
renamed *_WIN32_MM to *_WINMM
sezero Mar 27, 2024
06c044d
os2 / emx fixes
sezero Mar 27, 2024
eaa008c
minor comment corrections.
sezero Mar 28, 2024
8cf1c70
cmake clean-ups
sezero Mar 28, 2024
122edf6
add CoreAudio support for macOS (based on GPL'ed xmp player)
sezero Mar 28, 2024
317b2f3
moved openal output support after the native backends in the list.
sezero Mar 28, 2024
095048a
cmake: update FindOSS module so that it responds to 'REQUIRED' flag
sezero Mar 29, 2024
69839a6
cmake: use ALSA_LIBRARIES instead of ALSA_LIBRARY.
sezero Mar 29, 2024
3bbb136
sdnio output support (mainly for OpenBSD)
sezero Mar 29, 2024
8225b1c
remove CI appveyor/travis stuff - not used anymore.
sezero Mar 29, 2024
5824056
player: changed file i/o (e.g. wav writer) to stdio
sezero Mar 30, 2024
31c722f
player: big clean-up of includes and platform-specifics
sezero Mar 30, 2024
b4c4250
ci: update actions versions.
sezero Mar 30, 2024
3c2d483
don't link with -Wl,--no-undefined on openbsd
sezero Mar 30, 2024
78d602a
ci: add bsd workflows using cross-platform-actions
sezero Mar 30, 2024
46cba99
Attempt to silence clang -Wimplicit-const-int-float-conversion warnings
sezero Mar 30, 2024
23c974d
cmake: move audio library checks down just before config creation.
sezero Mar 30, 2024
0355080
ci: added an os/2 workflow using openwatcom
sezero Mar 30, 2024
71ae089
out_wav: fixed fseek brain-damage from commit 58240563e
sezero Mar 30, 2024
5ee2b3c
out_winmm: call waveOutReset() before calling waveOutUnprepareHeader().
sezero Mar 30, 2024
e83fba7
player: simplified the output backend interface:
sezero Mar 30, 2024
a8b9991
fix gcc -Wimplicit-fallthrough warning.
sezero Mar 30, 2024
f68b9e1
cmake: set on-by-default audio backends, make options platform-dependent
sezero Mar 31, 2024
0452266
wm_tty.c: fixed emx build
sezero Mar 31, 2024
d42facf
dossb driver: refuse to build against djgpp < v2.02
sezero Mar 31, 2024
f06fbcd
wm_tty.c (wm_getch): add a safeguard for amiga version.
sezero Mar 31, 2024
684cff5
player: simplified audio output backend interface more,
sezero Mar 31, 2024
5d39997
player: minor amiga clean-up.
sezero Mar 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/bsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: bsd

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true

jobs:
freebsd:
runs-on: ubuntu-latest
name: '${{ matrix.platform.name }} ${{ matrix.platform.os-version }}'
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
platform:
- { name: FreeBSD, os: freebsd, os-version: 13.2, os-arch: x86-64,
cmake_opts: '-DWANT_OSS=ON',
setup_cmd: 'sudo pkg update',
install_cmd: 'sudo pkg install -y cmake',
}
- { name: OpenBSD, os: openbsd, os-version: 7.4, os-arch: x86-64,
cmake_opts: '-DWANT_SNDIO=ON',
setup_cmd: 'sudo pkg_add -u',
install_cmd: 'sudo pkg_add cmake',
}
- { name: NetBSD, os: netbsd, os-version: 9.3, os-arch: x86-64,
cmake_opts: '-DWANT_OSS=ON',
setup_cmd: 'export PATH="/usr/pkg/sbin:/usr/pkg/bin:/sbin:$PATH";export PKG_PATH="https://cdn.netBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r|cut -f "1 2" -d.)/All/";echo "PKG_PATH=$PKG_PATH";echo "uname -a -> \"$(uname -a)\"";sudo -E sysctl -w security.pax.aslr.enabled=0;sudo -E sysctl -w security.pax.aslr.global=0;sudo -E pkgin clean;sudo -E pkgin update',
install_cmd: 'sudo -E pkgin -y install cmake',
}
steps:
- uses: actions/checkout@v4
- name: Build
uses: cross-platform-actions/action@v0.23.0
with:
operating_system: ${{ matrix.platform.os }}
architecture: ${{ matrix.platform.os-arch }}
version: ${{ matrix.platform.os-version }}
run: |
${{ matrix.platform.setup_cmd }}
${{ matrix.platform.install_cmd }}
cmake -B build -DCMAKE_INSTALL_PREFIX=build/out \
-DCMAKE_BUILD_TYPE=Release \
-DWANT_PLAYER=ON -DWANT_STATIC=ON \
${{ matrix.platform.cmake_opts }}
cmake --build build --config Release
cmake --install build

- uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: wildmidi-${{ matrix.platform.os }}
path: build/out/
retention-days: 14
42 changes: 30 additions & 12 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,45 @@ jobs:
strategy:
matrix:
config:
- { os: macos-latest, c: "clang", player: "ON", static: "ON", alsa: "OFF", openal: "ON", oss: "OFF" }
- { os: ubuntu-latest, c: "clang", player: "ON", static: "ON", alsa: "ON", openal: "ON", oss: "ON" }
- { os: ubuntu-latest, c: "gcc", player: "ON", static: "ON", alsa: "ON", openal: "ON", oss: "ON" }
- { os: windows-latest, c: "cl", player: "OFF", static: "ON", alsa: "OFF", openal: "OFF", oss: "OFF" }
- {
os: macos-latest,
c: "clang",
cmake_opts: "-DWANT_PLAYER=ON -DWANT_STATIC=ON -DWANT_COREAUDIO=ON"
}
- {
os: ubuntu-latest,
c: "clang",
cmake_opts: "-DWANT_PLAYER=ON -DWANT_STATIC=ON -DWANT_OPENAL=ON -DWANT_ALSA=ON -DWANT_OSS=ON"
}
- {
os: ubuntu-latest,
c: "gcc",
cmake_opts: "-DWANT_PLAYER=ON -DWANT_STATIC=ON -DWANT_OPENAL=ON -DWANT_ALSA=ON -DWANT_OSS=ON"
}
- {
os: windows-latest,
c: "cl",
cmake_opts: "-DWANT_PLAYER=ON -DWANT_STATIC=ON -DWANT_WINMM=ON"
}
runs-on: ${{ matrix.config.os }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install dependencies (Linux)
if: matrix.config.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install libasound2-dev libopenal-dev
- name: Install dependencies (macOS)
if: matrix.config.os == 'macos-latest'
run: |
brew install openal-soft
- name: Build with ${{ matrix.config.os }} / ${{ matrix.config.c }}
env:
CC: ${{ matrix.config.c }}
run: |
cmake -B build -DWANT_PLAYER=${{ matrix.config.player }} -DWANT_STATIC=${{ matrix.config.static }} -DWANT_ALSA=${{ matrix.config.alsa }} -DWANT_OPENAL=${{ matrix.config.openal }} -DWANT_OSS=${{ matrix.config.oss }}
cmake --build build -j2

cmake -B build ${{ matrix.config.cmake_opts }} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=build/out
cmake --build build -j2 --config Release
cmake --install build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: wildmidi-${{ matrix.config.os }}-${{ matrix.config.c }}
path: build/out/
retention-days: 14
18 changes: 18 additions & 0 deletions .github/workflows/os2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Build (OS/2)

on: [push, pull_request]

jobs:
os2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: open-watcom/setup-watcom@v0
- name: Build library and player
run: |
cd os2 && wmake
cd ..
- name: distclean
run: |
cd os2 && wmake distclean
cd ..
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# compiled objects #
*.o
*.obj
*.so
*.dll

Expand Down
40 changes: 0 additions & 40 deletions .travis.yml

This file was deleted.

Loading