Changes
- Added 4 new shuffle modes:
- Cross weave 1: Same as radix pass, but higher elements are reversed.
- Cross weave 2: Same as radix pass, but lower elements are reversed.
- Triangular: A sequence based on https://oeis.org/A294648
- Smooth Heapify: Reverses and performs Leonardo Heapify.
- Test script now have those new shuffles.
- Added ability to show build number along with the release version.
- Also given the option to turn it off in the settings.txt.
- Bug fixes
- Fixed a bug where the first pass for each cycle did not check the first element in that cycle.
- Fixed waveform cutout bug for customized waveforms.
- Fixed customized sound timbre too soft.
- Now the large number of harmonics given for customized timbre should not affect the volume of the audio produced.
- Some options in settings.txt now no longer assume any non-integer settings as 0.
- Fixed typos.
- Included ability for sorting algos to signal error.
- Makefile now does auto macOS PortAudio dylib installation.
- Requires elevated permissions to do so
- Source code
- Added explanation for sound system as comments.
Binaries
Note: Binaries for Linux for this build may not work as expected.
The pre-compiled binaries are available below and they may not be available on all systems. If the binaries are available for your system, you can download it and run the executables. If not you may have to follow the build instructions below.
Because the executables are not signed, OSes will block the execution by default because they have not checked whether the executables are malicious (The checking process is not for free). You may have to bypass the Windows SmartScreen by clicking on the more info link and click "Run Anyways", or macOS's gatekeeper by "right-clicking" and click "Open".
Building (or "Installing")
If the binaries are not available for your system, you will have to build the apps yourself. The detailed instructions are in the main branch.
Prerequisites
To compile this project you will need two items:
- GNU Compiler Collection (GCC)
- PortAudio (This can be omitted if you want to build a mute version)
To install / build the prerequisites the instructions are in the README.md or on the main branch.
If you have successfully built PortAudio, you can copy the include
and the lib
folder to the src/pa
folder.
Then, you can download (clone) this repository by download the zip and extracting into a folder, or using
git clone https://github.com/snqzspg/cli-sort-visual makeshift_visualizer
if you have Git installed.
To build, you first navigate into the src folder (cd src
) and then you can simply type
make withsound
if you managed to have PortAudio, or
make nosound
to build a mute version. (For Windows with MinGW64 replace make
with mingw32-make
or mingw64-make
, or drag the mingw32-make.exe
file into the console).
You can simply type make
to get some information about the installation process, including how to clean up.
This project does not leave any remnants on your system. You can delete the entire project folder and it's gone.
To run the binaries, navigate up to the parent of the source folder and run the executable labelled with the sort names.
Checksums
Verifying the checksums of the binary file ensures that the file you've received are not being tampered with.
You can generate the MD5 and/or SHA256 hashes using certutil -hashfile <file> MD5
(Windows) / md5 <file>
(macOS) for MD5 or certutil -hashfile <file> SHA256
(Windows) / shasum -a 256 <file>
(macOS) for SHA256.
Ensure that the hash generated matches the respective hash below.
Filename | Hash |
---|---|
linux_i686_alsa_oss_bin_v1.1.tgz | MD5: e7c172f93cb92153d66af75902cd76c5 SHA256: 036df49cf4504d246316ecedd855f2fc433df15d59734e6c4ee6ac1f187f9909 |
linux_x86_64_alsa_oss_bin_v1.1.tgz | MD5: 536484c59c56b94c3460436794a94692 SHA256: 66477350fa23fc057a224bba0c5bfa4de0252c16de72580bf96fd1948ff098d3 |
macOS_arm64_bin_v1.1.tgz | MD5: e2c69ca54c0a4693f1bb690e922aae51 SHA256: 96de1911eec737b6c575f0fbbfc6b5889d7793e154976a03f155ff07bd61f4c7 |
macOS_x86_64_bin_v1.1.tgz | MD5: 2034e94b4c21c7048ab764d91b89ab67 SHA256: 532c138888032ddfd4ca0ad11a62190279ce0304944d9403e85fb4eabd3c586c |
win32_bin_dsound_v1.1.zip | MD5: 9188a52fa04a9fb182ee5ba02d9b7c95 SHA256: 30fc79297c2aa1fe5f10f6aa606e7a4a48a78520401f073785cc7b7b90508925 |