Scheme playground.
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.
 
 
 
Muto 32edac9d41 Remove ambiguous comment há 5 meses
.gitignore add some mouse input functions; add gitignore há 5 meses
README.md Add note about the tutorial há 5 meses
Test.wav audio (#3) há 5 meses
audio-test.scm audio (#3) há 5 meses
build.sh audio (#3) há 5 meses
init.scm audio (#3) há 5 meses
interscheme.c Remove ambiguous comment há 5 meses
tone.c audio (#3) há 5 meses
tone.h audio (#3) há 5 meses

README.md

Interscheme

A pixel graphics and sound playground using SDL2 and chibi-scheme.

WIP.

See also: http://synthcode.com/scheme/chibi/#h3_QuickStart

Build

Requirements:

  • Chibi Scheme
  • SDL2
  • SDL2 Mixer
  • SDL2 GFX

First, build and install chibi-scheme:

git clone https://github.com/ashinn/chibi-scheme.git
cd chibi-scheme
make -j$(nproc)
sudo make install

This will yield libchibi-scheme.so in /usr/local/lib and /usr/local/include/chibi header files. You might need to do ldconfig /usr/local/lib once.

It will also make a scheme REPL called chibi-scheme.

Then, in this here repo:

./build.sh

Run

Edit init.scm to your liking.

./interscheme

Documentation

Interscheme comes with several Scheme functions that are high-level wrappers to SDL functions. This is a complete list of readily-available functions (tagged with “no” or “yes” depending on whether or not the functionality is complete & working or not)

  • Graphical Functions
    • (pixel-put x y #xffffff) ; yes
    • (stroke-line x1 y1 x2 y2 #xffffffff) ; yes
    • (pixel-rect-fill x1 y1 x2 y2 #xffffff) ; yes
    • (pixel-ellipse-fill x1 y1 x2 y2 #xffffff) ; no
    • (get-pixel-value x y) ; no
    • (set-fps n) ; no
  • Audio Functions
    • (play-wav-file "some_file.wav") ; yes
    • (generate-tone frequency duration) ; wip
  • Input Functions
    • (mouse-x) ; yes
    • (mouse-y) ; yes
    • (keyboard) ; yes
    • (mouse-buttons) ; yes
    • (joystick) ; no

Interscheme is documented in more detail in the Reform Handbook.