Skip to content

BZR Player is an audio player for Windows and Linux (using Wine) supporting a wide array of multi-platform exotic file formats

License

Notifications You must be signed in to change notification settings

aargirakis/BZRPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BZR Player 2 (BZR2)

Audio player for Windows and Linux (using Wine) supporting a wide array of multi-platform exotic file formats, written in C++ and Qt5 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.

Download binaries

How To Build

Windows

MSYS2 with following packages is required:

make mingw-w64-i686-cmake mingw-w64-i686-qt5-base mingw-w64-i686-qt5-svg mingw-w64-i686-SDL2 mingw-w64-i686-toolchain openssl-devel patch

From the MSYS2 mingw32.exe command prompt go to the project sources dir (take in mind Unix-style paths are required), then start the configuration process executing:
cmake -S . -B cmake-build -DCMAKE_PREFIX_PATH=/mingw32 -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

build example

cd /c/BZRPlayer
cmake -S . -B cmake-build -DCMAKE_PREFIX_PATH=/mingw32 -DCMAKE_BUILD_TYPE=Release -G Ninja &&
ninja -C cmake-build 

Linux (cross-compilation)

Dockerized cross-compilation toolchain is provided, just execute run.sh from the docker directory with following flags:

  • CONFIG=1 for running the cmake configuration stage (Debug eventually setting BUILD_TYPE=Release if needed)
  • BUILD=1 for building the project
  • RUN_BZR2=1 for running built BZR2 (Wine is required)

Offline mode

By default, the cmake configuration stage will download all needed libraries and files. Add -DOFFLINE_MODE=1 to cmake command (or OFFLINE_MODE=1 to run.sh) for switching to offline mode.
Offline mode doesn't guarantee that the build will include the latest versions of the files with unmanaged version

Windows online installer

Although the BZR2 online 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 currently still missing.

NSIS (3.10 or newer) with following plugins (check AUR entries) is required:

In order to build the Windows installer enter src/inst/nsis directory then execute: makensis bzr2_setup.nsi
As result of the building process (the Wine compatible) bzr2_setup.exe will be generated in the same directory.
Since it is a self-updating installer, the latest installer version check is done at runtime (based on bzr2_setup.exe_latest file content generated at compile-time).
It may be useful to disable it (for dev/test purposes) executing: bzr2_setup.exe /skipInstallerUpdate2


Useful links:

bzr2 0 27


SUPPORTED FORMATS (#TODO wrong & incomplete)

Using Libsidplayfp

Commodore 64 SID, PSID

Using Audio File Library

Amiga IFF/8SVX
Audio Visual Research
Berkeley/IRCAM/CARL
Compressed AIFF
NeXT .snd
NIST SPHERE
SampleVision
Sun .au

Using ASAP

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

Using Game Music Emu

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

Using HivelyTracker

AHX
HivelyTracker

Using Mamiya's m_s98.kpi

S98

Using Ken's Digital Music

Ken's Digital Music

Using libpac

SBStudio PAC

Using LibV2

Farbrausch V2M

Using Organya

Organya

Using UADE

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

SUPPORTED PACKERS

None right now