Audio player for Windows and Linux supporting a wide array of multi-platform exotic file
formats, written in C++ and Qt with a sound engine based on FMOD.
The first BZR version was released in 2008, the last 1.x in 2019: this is the beginning of the new 2.x version which is
coded pretty much from scratch.
- Releases & changelogs
- AUR package:
bzr-player
- Linux Wine installer (deprecated)
- Old versions archive
MSYS2 with following packages is required:
make
mingw-w64-ucrt-x86_64-cmake
mingw-w64-ucrt-x86_64-qt6-base
mingw-w64-ucrt-x86_64-qt6-svg
mingw-w64-ucrt-x86_64-qt-advanced-docking-system
mingw-w64-ucrt-x86_64-SDL2
mingw-w64-ucrt-x86_64-toolchain
openssl-devel
patch
From the MSYS2 ucrt64.exe command prompt go to the project sources dir (take in mind Unix-style paths are
required), then start the configuration process executing:
cmake -B cmake-build -S . -DCMAKE_PREFIX_PATH=/ucrt64 -DCMAKE_BUILD_TYPE=
[Debug
|Release
] -G Ninja
To build the project execute:
ninja -C cmake-build
As result of the building process, in the chosen CMake build directory the output
directory will be populated with
binaries.
If the Release build type is selected, along with output
also output_release
directory will be created,
containing the final archive release file
cd /c/BZRPlayer
cmake -B cmake-build -S . -DCMAKE_PREFIX_PATH=/ucrt64 -DCMAKE_BUILD_TYPE=Release -G Ninja &&
ninja -C cmake-build
These are the settings for any IDE that supports CMake:
-
set the toolchain to <MSYS2_dir>\ucrt64
(e.g.C:\msys64\ucrt64
) -
set the CMake command with following flags:
-DCMAKE_PREFIX_PATH="<MSYS2_dir>/ucrt64" -G "Ninja"
(e.g.-DCMAKE_PREFIX_PATH="c:/msys64/ucrt64" -G "Ninja"
) -
set additional environment variables MSYSTEM=UCRT64 and PATH=<MSYS2_dir>/usr/bin
(e.g.MSYSTEM=UCRT64;PATH=c:/msys64/usr/bin
) -
set the CMake application runner to build All targets with
app
as executable -
(optional) set CMake executable to <MSYS2_dir>\ucrt64\bin\cmake.exe
(e.g.C:\msys64\ucrt64\bin\cmake.exe
)
Although the BZR2 installer for Windows is scripted in Nullsoft Scriptable Install System (NSIS), it can be only compiled using WSL2 or cross-compiled on Linux since it contains Linux specific code (mostly the bash script for the XDG MIME types handling), also MSYS2 it is currently not viable since the required NSIS plugins are still missing.
NSIS (3.10 or newer) with following plugins (check AUR entries) is required:
- AccessControl
nsis-accesscontrol-bin
- NsArray
nsis-nsarray-bin
- NsProcess
nsis-nsprocess-bin
- Registry
nsis-registry-bin
In order to build the Windows installer put the target binaries in src/inst/nsis/bin
then enter src/inst/nsis
directory and execute: makensis -DVERSION="<any_version>" bzr2_setup.nsi
As result of the building process bzr-player-<any_version>-win64.exe
will be generated in the same directory.
In order to build BZR2 following packages are required:
-
On Arch-based distros:
base-devel
cmake
dos2unix
libglvnd
ninja
patchutils
qt6-base
qt-advanced-docking-system
qt6-declarative
qt6-svg
sdl2-compat
vulkan-headers
-
On Debian-based distros:
build-essential
cmake
dos2unix
libglvnd0
libsdl2-dev
libvulkan-dev
ninja-build
patchutils
qt6-base-dev
qt6-base-private-dev
qt6-declarative-dev
qt6-svg-dev
libqt-advanced-docking-system4.4.0-dev -
On Fedora-based distros:
cmake
dos2unix
ninja-build
patchutils
qt6-qtbase-devel
qt6-qtsvg-devel
sdl2-compat-devel
vulkan-headers
libqtadvanceddockingsystem-qt6-devel
Go to the project sources dir then start the configuration process executing:
cmake -B cmake-build -S . -DCMAKE_PREFIX_PATH=/usr -DCMAKE_BUILD_TYPE=
[Debug
|Release
] -G Ninja
To build the project execute:
ninja -C cmake-build
cd ~/bzr-player &&
cmake -B cmake-build -S . -DCMAKE_PREFIX_PATH=/usr -DCMAKE_BUILD_TYPE=Debug -G Ninja &&
ninja -C cmake-build
For running BZR2 following packages are required:
-
On Arch-based distros:
qt6-base
qt6-svg
qt-advanced-docking-system
-
On Debian-based distros:
libqt6core6
libqt6network6
libqt6openglwidgets6
libqt6svg6
libqt6xml6
libqt-advanced-docking-system4.4.0 -
On Fedora-based distros:
qt6-qtbase
qt6-qtsvg
libqtadvanceddockingsystem-qt6
On Linux, as result of the building process, in the chosen CMake build directory the output
directory will be
populated with binaries.
If the Debug build type is selected BZR2 will use development paths instead of system ones: this means all paths
will refer to the output
directory (including the user settings and the executable's RPATH) ensuring a complete
isolation from any other (real) BZR2 installation (ideal for development purposes).
If Release build type is selected then the system paths will be used (this also means generated binaries will work
only if they are installed in the correct system paths)
By default, the CMake configuration stage will download all needed libraries and files. Add -DOFFLINE_MODE=1
to CMake
command for switching to offline mode.
Offline mode doesn't guarantee that the build will include the latest versions of the files with unmanaged version
Commodore 64 SID, PSID
Amiga IFF/8SVX
Audio Visual Research
Berkeley/IRCAM/CARL
Compressed AIFF
NeXT .snd
NIST SPHERE
SampleVision
Sun .au
Atari systems using POKEY sound chip
Chaos Music Composer
Chaos Music Composer -3-4-
Chaos Music Composer -Rzog-
Delta Music Composer
DoublePlay Chaos Music Composer
Music ProTracker
Raster Music Tracker
Stereo Double Chaos Music Composer
Theta Music Composer 1.x 4-channel
Theta Music Composer 1.x 8-channel
Theta Music Composer 2.x
AY - ZX Spectrum, Amstrad CPC
GBS - Nintendo Game Boyr
GYM - Sega Genesis, Mega Drive
HES - NEC TurboGrafx-16, PC Engine
KSS - MSX Home Computer, other Z80 systems
NSF - NES Sound Format
NSFE - NES Sound Format Extended
SPC - Super Nintendo, Super Famicom
VGM - Video Game Music File
VGZ - Compressed Video Game Music File
RSN - RAR archive with SPC songs
AHX
HivelyTracker
S98
Ken's Digital Music
SBStudio PAC
Farbrausch V2M
Organya
ActionAmics
Activision Pro (MartinWalker)
Alcatraz_Packer
AM-Composer
Anders Øland
Andrew Parton
Art And Magic
ArtOfNoise-4V
ArtOfNoise-8V
Ashley Hogg
BeathovenSynthesizer
Ben Daglish SID
BladePacker
Channel Players
Cinemaware
CoreDesign
CustomMade
DariusZendeh
Dave Lowe
Dave Lowe New
David Hanney
Desire
Digital Sonix And Chrome
DigitalSoundStudio
Dirk Bialluch
Dynamic Synthesizer
EarAche
EMS (Editeur Musical Sequentiel)
Fashion Tracker
FredGray
FutureComposer-BSI
FuturePlayer
GlueMon
HowieDavies
InStereo
InStereo! 2.0
JamCracker
JankoMrsicFlogel
JanneSalmijarviOptimizer
JasonPage
Jeroen Tel
JesperOlsen
JochenHippel-7V
Kim Christensen
KrisHatlelid
LegglessMusicEditor
Lionheart_Game
MajorTom
ManiacsOfNoise
MarkII
Mark_Cooksey
Mark_Cooksey_Old
MCMD
Medley
MIDI-Loriciel
MikeDavies
MMDC
Mosh Packer
MusicAssembler
MusiclineEditor
MusicMaker-8V
Nick Pelling Packer
NTSP-system
onEscapee
Paul Robotham
Paul Tonge
PaulShields
PaulSummers
PeterVerswyvelen
ProfessionalSoundArtists
PumaTracker
Quartet PSG
Quartet_ST
RiffRaff
RobHubbardOld
SCUMM
SeanConnolly
SeanConran
Silmarils
SonicArranger
SonicArranger-pc-all
SonixMusicDriver
SoundControl
SoundFactory
SoundImages
SoundMaster
SoundPlayer
SoundProgrammingLanguage
Special-FX
Special-FX_ST
SpeedyA1System
SpeedySystem
SteveBarrett
SteveTurner (Jason Page Old)
SUN-Tronic
Synth (Synthesis)
SynTracker
TFMX
TFMX-7V
TFMX-Pro
TFMX_ST
TheMusicalEnlightenment
ThomasHermann
TimFollin
TomyTracker
Tronic (TronicTracker)
VoodooSupremeSynthesizer
WallyBeben
YM-2149
None right now