Skip to content

Latest commit

 

History

History
261 lines (183 loc) · 13.2 KB

BUILDING.md

File metadata and controls

261 lines (183 loc) · 13.2 KB

Build Instructions

Required IDE: Visual Studio 2019

Configurations: all combinations of Debug/Release and Win32/x64

Building requires first obtaining external libraries used, the chart below shows what libraries are required by what programs. Goto Setup instructions for settings up external libraries. Once setup is complete, building normally in Visual Studio should work.

External library usage

PowerCon. AsciiArtist AsciiTetris AsciiVis SFMLCust.
FFmpeg ✓¹
FFTW
mpg123
SFML ✓²

[1] : (optional) FFmpeg main binary used at runtime for optional feature
[2] : SFML borrowed only for openal32 .dll and .lib files


Setup instructions

Library dependencies can either be set up manually, or automatically by running setup.ps1 then makelibs.bat.

Automatic setup

To make any changes the dependencies setup (including only using x86 or x64, etc.), open setup.ps1 in a text editor and change the desired settings in the Configuration section near the top. Changes to library output directories will also need to be reflected in makelibs.bat's Configuration section.

  1. Search for and open Developer Command Prompt for VS 20xx (replacing xx with your VS year)
  2. cd "<REPOPATH>"
  3. powershell ./setup.ps1
  4. makelibs.bat

These scripts will download all dependencies from existing URLs, unpack them, and then reorganize all folder structures. Running makelibs.bat will then create essential .lib files for libraries that don't already supply them.

Manual setup

Follow this chart below for creating the folder structure, and including the architectures/configurations you wish to use. All libraries have links to their downloads provided in the Library dependencies section.

Folder structure

lib/

Creating lib files

  1. Search for and open Developer Command Prompt for VS 20xx (replacing xx with your VS year)
  2. cd "<REPOPATH>/lib/mpg123-1.25.4/<ARCH>"   (replace ARCH with x86 or x64)
  3. rename libmpg123-0.dll.def libmpg123-0.def
  4. lib /MACHINE:<ARCH> /DEF:libmpg123-0.def   (replace ARCH with x86 or x64)
  5. cd "<REPOPATH>/lib/fftw-3.3.5/<ARCH>"   (replace ARCH with x86 or x64)
  6. lib /MACHINE:<ARCH> /DEF:libfftw3f-3.def   (replace ARCH with x86 or x64)

Library dependencies

FFmpeg

Homepage | GitHub

C library (and tools) for all kinds of audio handling and manipulation.

All links for FFmpeg below are web-archived. Zeranoe FFmpeg Builds, which had been an essential hub for prebuilt Windows binaries, shutdown on September 18th, 2020. Thankfully everything of importance was heavily scraped and web-archived beforehand.

ffmpeg.zeranoe.com will close on Sep 18, 2020, and all builds will be removed. If you're using Zeranoe FFmpeg Builds in your product, please ensure that you have a hosting strategy in place by the 18th. Thank you to everyone who supported the project along the way! (source)

FFTW

Homepage | GitHub

C library for computing the Discrete Fourier Transform, which is used in audio visualization.

  • Builds > Windows
    • fftw-3.3.5-dll32.zip .dll .def
    • fftw-3.3.5-dll64.zip .dll .def

mpg123

Homepage

C library for reading MPEG-3 (.mp3) audio files.

SFML

Homepage | GitHub

C++ library for easy use of audio in games and applications. Used for sound effect and music playback.