| File | Date | Author | Commit |
|---|---|---|---|
| lang | 2026-06-12 |
|
[3a5d07] BTTB 4.7.0 |
| scratch | 2026-06-12 |
|
[3a5d07] BTTB 4.7.0 |
| src | 2026-06-12 |
|
[3a5d07] BTTB 4.7.0 |
| web | 2026-06-12 |
|
[3a5d07] BTTB 4.7.0 |
| .gitignore | 2026-05-31 |
|
[529c62] BTTB 4.2.0 par3 fix |
| CMakeLists.txt | 2026-06-12 |
|
[3a5d07] BTTB 4.7.0 |
| LICENSE | 2026-05-24 |
|
[9c8a58] Initial commit of BTTB 3.0.0 |
| README.md | 2026-06-07 |
|
[9a0591] Update README.md with cross-compilation and MSI... |
| README_WINDOWS.md | 2026-05-24 |
|
[9c8a58] Initial commit of BTTB 3.0.0 |
| privacy.txt | 2026-06-07 |
|
[c92544] Add Microsoft Store compliant privacy.txt |
Burn to the Brim (BTTB) is a modern C++20 desktop application designed to optimally fit files and folders onto target storage mediums (such as CDs, DVDs, or Custom sizes).
This is a complete port of the classic Delphi application to C++20 supporting:
It solves the subset-sum / bin packing problem instantly using an advanced recursive backtracking solver, matching files efficiently, and providing file organization and ISO creation capabilities.
splitDepth waterlevel (atomic vs recursive scanning).std::regex).genisoimage/mkisofs) with real-time log capturing.Simply extract the release package bttb-cpp-3.2.0-Win64-Native-GUI.zip and run:
bttb_win32.exe: Double-click to launch the native Windows GUI application instantly!To use the Create ISO Image feature, a command-line ISO generation utility (genisoimage.exe or mkisofs.exe) must be installed on your Windows system and added to your environment PATH.
Here are the simplest ways to install it:
powershell
irm get.scoop.sh | iexcdrtools (which includes mkisofs):powershell
scoop install cdrtoolsRestart Burn to the Brim and create your ISO!
Method 2: Using Chocolatey (Automatic PATH)
powershell
choco install cdrtoolsRestart Burn to the Brim and create your ISO!
Method 3: Using Cygwin
setup-x86_64.exe installer.cdrkit (contains genisoimage) or cdrtools (contains mkisofs) package.C:\cygwin64\bin to your Windows System environment variable PATH.Restart Burn to the Brim.
Method 4: Using MSYS2
bash
pacman -S mingw-w64-ucrt-x86_64-cdrtoolsC:\msys64\ucrt64\bin to your Windows System environment variable PATH.sudo apt update
sudo apt install -y libgtk-4-dev build-essential cmake pkg-config genisoimage
Compile the application from the root of the project folder:
# Create and navigate to the build folder
mkdir -p build
cd build
# Configure and compile
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
This compiles:
bttb: The GTK 4 desktop GUI application.test_solver: An offline programmatic unit test suite.# Launch the desktop app
./build/bttb
# Run the unit tests
./build/test_solver
To build the native GTK 4 Windows GUI from source:
bash
pacman -Syu
pacman -S mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-gtk4bash
mkdir build && cd build
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ..
mingw32-make -j$(nproc)To cross-compile the Windows binaries, build the .msi installers, and generate the Linux .deb packages on an Ubuntu development machine:
Install the required build tools, cross-compilers, and packaging utilities:
sudo apt update
sudo apt install -y \
build-essential \
cmake \
pkg-config \
libgtk-4-dev \
genisoimage \
gcc-mingw-w64-x86-64 \
g++-mingw-w64-x86-64 \
msitools
Navigate to the project root directory and run the packaging script:
python scratch/package_release.py
This script automates the entire packaging pipeline:
.deb package via CMake.bttb_win32.exe and bttb_win32_compat.exe) with exploit mitigations and strips symbols.LICENSE file into a formatted License.rtf and runs wixl to compile the enterprise-grade .msi installers in the build/ directory:bttb-cpp-4.4.0-Win64-Installer.msi (Native AVX2 release)bttb-cpp-4.4.0-Win64-Compat-Installer.msi (Compatibility SSSE3 release)This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License (GPLv2). See the accompanying LICENSE file for the full terms.