1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-09-28 11:17:46 +00:00
QB64 Phoenix Edition. QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS. https://qb64phoenix.com
Find a file
Matthew Kilgore 2b3403745c Add initial MIDI language support
This adds MIDI support to the language as a new unstable feature. There
are two new metacommands that come with this:

$Unstable: Midi
$MidiSoundFont: [Default|"filename"]

The $Unstable command is required to be able to use any of the other
commands, and just signifies that this is not a full part of the
language yet and may change in breaking ways before the API is
finalized.

The $MidiSoundFont command enables MIDI support in the compiled program,
and also specifies what sound font to use to play MIDI files. "Default"
will make use of the soundfont placed at
'./internal/support/default_soundfont.sf2', and otherwise a filename can
be specified to use any soundfont wanted.

In either case, the selected sound font is compiled into the executable
and then loaded at runtime.

Fixes: #115
2022-09-04 23:35:14 -04:00
.ci Step 22: There's always something else 2022-08-19 00:26:13 +02:00
.github/workflows Split up workflows 2022-08-28 23:21:08 -04:00
docs Add testing documentation 2022-09-04 22:41:28 -04:00
internal Add initial MIDI language support 2022-09-04 23:35:14 -04:00
licenses Update licensing information 2022-08-28 02:16:56 -04:00
source Add initial MIDI language support 2022-09-04 23:35:14 -04:00
tests Add initial MIDI language support 2022-09-04 23:35:14 -04:00
.clang-format Run clang-format on ./internal/c/*cpp files 2022-05-06 13:20:30 -04:00
.gitignore Add a740g's miniaudio backend 2022-08-27 14:27:55 -04:00
COPYING.txt Fix up licensing details 2020-02-25 21:21:12 +11:00
Makefile Add initial MIDI language support 2022-09-04 23:35:14 -04:00
qb64pe.1 Step 7: Rename qb64.exe to qb64pe.exe 2022-08-11 18:07:57 +02:00
README.md Step 10: Update remaining stuff 2022-08-12 02:54:12 +02:00
SAMPLES.txt Update more links 2022-05-03 23:49:57 -04:00
setup_lnx.sh Step 11: Final touches 2022-08-12 22:47:09 +02:00
setup_osx.command Step 10: Update remaining stuff 2022-08-12 02:54:12 +02:00
setup_win.bat Update setup_win.bat 2022-08-30 00:10:37 -04:00

QB64 Phoenix Edition

QB64-PE

QB64 is a modern extended BASIC+OpenGL language that retains QB4.5/QBasic compatibility and compiles native binaries for Windows (Vista and up), Linux and macOS.

Table of Contents

  1. Installation

    1. Windows
    2. macOS
    3. Linux
  2. Usage

  3. Additional Info

Installation

Download the appropriate package for your operating system over at https://github.com/QB64-Phoenix-Edition/QB64pe/releases/latest

Windows

Make sure to extract the package contents to a folder with full write permissions (failing to do so may result in IDE or compilation errors).

  • It is advisable to to whitelist the 'qb64pe' folder in your antivirus/antimalware software *

macOS

Before using QB64-PE make sure to install the Xcode command line tools with:

xcode-select --install

Run ./setup_osx.command to compile QB64-PE for your OS version.

Linux

Compile QB64-PE with ./setup_lnx.sh.

Dependencies should be automatically installed. Required packages include OpenGL, ALSA and the GNU C++ Compiler.

Usage

Run the qb64pe executable to launch the IDE, which you can use to edit your .BAS files. From there, hit F5 to compile and run your code.

To generate a binary without running it, hit F11.

Additionally, if you do not wish to use the integrated IDE and to only compile your program, you can use the following command-line calls:

qb64pe -c yourfile.bas

qb64pe -c yourfile.bas -o outputname.exe

Replacing -c with -x will compile without opening a separate compiler window.

Additional Information

More about QB64-PE at our wiki: https://qb64phoenix.com/qb64wiki

We have a community forum at: https://qb64phoenix.com/forum

We don't currently tweet. Sorry.

Find us on Discord: https://discord.gg/D2M7hepTSx