mirror of
https://github.com/libretro/libretro-samples.git
synced 2025-04-02 10:31:48 -04:00
Add minimal metadata for a Tup build system. Tup will discover any file named "Tupfile" in a the sub-directories where it is run. In this case a tupfile defines the core name and invokes the "include_rules" directive, which will include the Tup rules defined in parent directories. This allows a parent repository with platform-specific build rules to host this repository as a submodule. The sample cores may thus be ported to new platforms without polluting the local makefiles. Naturally the external build rules must be synchronized with the source code herein, the tupfiles here only define TARGET_NAME so that they will never contradict information contained in the makefiles. A sample Tuprules.tup for a super-repository: ifeq ($(TARGET_NAME),advanced_tests) CFLAGS += -I../../libretro-common/include SOURCES_C += libretro-test.c endif CFLAGS += -O3 -Wall -pedantic -std=gnu99 : foreach $(SOURCES_C) |> !libretro_cc |> {objs} : {objs} |> !libretro_ld |> $(TARGET_NAME)_libretro.so |
||
---|---|---|
.. | ||
jni | ||
libretro-test.c | ||
libretro.h | ||
link.T | ||
Makefile | ||
README.md | ||
Tupfile |
audio_callback
This sample demonstrates how to generate sound using libretro API with an audio callback.
Audio gets its own callback function to live in and libretro's audio callback function gets called independently of retro_run iteration in this case.
In case the audio callback cannot be setup (a libretro frontend might not support it), we fallback to non-callback based audio instead.
The audio samplerate in this sample is set to 3000KHz, sound is 16-bit stereo.
Programming language
C
Building
To compile, you will need a C compiler and assorted toolchain installed.
make