mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
furnace, new recipe (#7069)
This commit is contained in:
15
media-sound/furnace/additional-files/furnace.rdef.in
Normal file
15
media-sound/furnace/additional-files/furnace.rdef.in
Normal file
@@ -0,0 +1,15 @@
|
||||
resource app_flags B_SINGLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_BETA,
|
||||
internal = 0,
|
||||
|
||||
short_info = "@APP_NAME@",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
197
media-sound/furnace/furnace-0.6.1~git.recipe
Normal file
197
media-sound/furnace/furnace-0.6.1~git.recipe
Normal file
@@ -0,0 +1,197 @@
|
||||
SUMMARY="A multi-system chiptune tracker compatible with DefleMask modules"
|
||||
DESCRIPTION="Features
|
||||
|
||||
Over 50 sound chips - and counting:
|
||||
Yamaha FM chips:
|
||||
- YM2151 (OPM)
|
||||
- YM2203 (OPN)
|
||||
- YM2413 (OPLL)
|
||||
- YM2414 (OPZ) used in Yamaha TX81Z
|
||||
- YM2608 (OPNA) used in PC-98
|
||||
- YM2610 (OPNB) used in Neo Geo
|
||||
- YM2610B (OPNB2)
|
||||
- YM2612 (OPN2) used in Sega Genesis and FM Towns
|
||||
- YM3526 (OPL) used in C64 Sound Expander
|
||||
- YM3812 (OPL2)
|
||||
- YMF262 (OPL3) with full 4-op support!
|
||||
- Y8950 (OPL with ADPCM)
|
||||
square wave chips:
|
||||
- AY-3-8910/YM2149(F) used in several computers and game consoles
|
||||
- Commodore VIC used in the VIC-20
|
||||
- Microchip AY8930
|
||||
- TI SN76489 used in Sega Master System and BBC Micro
|
||||
- PC Speaker
|
||||
- Philips SAA1099 used in SAM Coupé
|
||||
sample chips:
|
||||
- Amiga
|
||||
- SegaPCM - all 16 channels
|
||||
- Capcom QSound
|
||||
- Yamaha YMZ280B (PCMD8)
|
||||
- Ricoh RF5C68 used in Sega CD and FM Towns
|
||||
- OKI MSM6258 and MSM6295
|
||||
wavetable chips:
|
||||
- HuC6280 used in PC Engine
|
||||
- Konami Bubble System WSG
|
||||
- Konami SCC/SCC+
|
||||
- Namco arcade chips (WSG/C15/C30)
|
||||
- WonderSwan
|
||||
- Seta/Allumer X1-010
|
||||
NES (Ricoh 2A03/2A07), with additional expansion sound support:
|
||||
- Konami VRC6
|
||||
- Konami VRC7
|
||||
- MMC5
|
||||
- Famicom Disk System
|
||||
- Sunsoft 5B
|
||||
- Namco 163
|
||||
- Family Noraebang (OPLL)
|
||||
SID (6581/8580) used in Commodore 64
|
||||
Mikey used in Atari Lynx
|
||||
ZX Spectrum beeper (SFX-like engine)
|
||||
TIA used in Atari 2600
|
||||
Game Boy
|
||||
modern/fantasy:
|
||||
- Commander X16 VERA
|
||||
- tildearrow Sound Unit
|
||||
|
||||
Mix and match sound chips!
|
||||
- over 200 ready to use presets from computers, game consoles and arcade boards...
|
||||
- ...or create your own - up to 32 of them or a total of 128 channels!
|
||||
|
||||
DefleMask compatibility
|
||||
- loads .dmf modules from all versions (beta 1 to 1.1.3)
|
||||
- saves .dmf modules - both modern and legacy
|
||||
- Furnace doubles as a module downgrader
|
||||
- loads .dmp instruments and .dmw wavetables as well
|
||||
- clean-room design (guesswork and ABX tests only, no decompilation involved)
|
||||
- bug/quirk implementation for increased playback accuracy through compatibility flags
|
||||
|
||||
VGM export
|
||||
|
||||
Modular layout that you may adapt to your needs
|
||||
|
||||
Audio file export - entire song, per system or per channel
|
||||
|
||||
Quality emulation cores (Nuked, MAME, SameBoy, Mednafen PCE, NSFplay, puNES, reSID, Stella, SAASound, vgsound_emu and ymfm)
|
||||
|
||||
Wavetable synthesizer
|
||||
- available on wavetable chips
|
||||
- create complex sounds with ease - provide up to two wavetables, select and effect and let go!
|
||||
|
||||
MIDI input support
|
||||
|
||||
Fractal Sound support!
|
||||
- the game-ready Sega Genesis/Mega Drive sound driver!
|
||||
- compose your songs in Furnace using the Fractal Sound presets and then use them in your games with Fractal!
|
||||
|
||||
Additional features:
|
||||
- FM macros!
|
||||
- negative octaves
|
||||
- arbitrary pitch samples
|
||||
- sample loop points
|
||||
- SSG envelopes and ADPCM-B in Neo Geo
|
||||
- full duty/cutoff range in C64
|
||||
- ability to change tempo mid-song
|
||||
- multiple sub-songs in a module
|
||||
- per-channel oscilloscope with waveform centering
|
||||
- built-in sample editor
|
||||
- chip mixing settings
|
||||
- built-in visualizer in pattern view
|
||||
|
||||
Open-source under GPLv2 or later."
|
||||
HOMEPAGE="https://github.com/tildearrow/furnace"
|
||||
COPYRIGHT="2021-2022 tildearrow and contributors"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
srcGitRev="173e9b0df9590536e25b3126c17663cd1b08ffe7"
|
||||
SOURCE_URI="$HOMEPAGE/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="bcc10f4b4f4e111557bb444d8434be4dfeccb066f34e3ab1abe1d4a2d9394f76"
|
||||
SOURCE_DIR="furnace-$srcGitRev"
|
||||
srcGitRev2="ef7a217154badc3b99978ac481b268c8aab67bd8"
|
||||
SOURCE_URI_2="https://github.com/superctr/adpcm/archive/$srcGitRev2.tar.gz"
|
||||
CHECKSUM_SHA256_2="46da29342d2968ff222ba00e07c646e038b76af2e6c86de037c653059a056251"
|
||||
srcGitRev3="64704a443f8f6c1906ba26297092ea70fa1d45d7"
|
||||
SOURCE_URI_3="https://github.com/nukeykt/Nuked-OPN2/archive/$srcGitRev3.tar.gz"
|
||||
CHECKSUM_SHA256_3="109d461d811cb223bfd55ab41068882573e3886f798eeb27d09f4d3ecefe94f5"
|
||||
ADDITIONAL_FILES="furnace.rdef.in"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
furnace$secondaryArchSuffix = $portVersion
|
||||
app:Furnace = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libfftw3$secondaryArchSuffix
|
||||
lib:libfmt$secondaryArchSuffix
|
||||
lib:librtmidi$secondaryArchSuffix
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libsndfile$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libfftw3$secondaryArchSuffix
|
||||
devel:libfmt$secondaryArchSuffix
|
||||
devel:librtmidi$secondaryArchSuffix
|
||||
devel:libSDL2_2.0$secondaryArchSuffix
|
||||
devel:libsndfile$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cp -rf $sourceDir2/adpcm-$srcGitRev2/* $sourceDir/extern/adpcm/
|
||||
cp -rf $sourceDir3/Nuked-OPN2-$srcGitRev3/* $sourceDir/extern/Nuked-OPN2/
|
||||
|
||||
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
|
||||
$cmakeDirArgs \
|
||||
-DCMAKE_INSTALL_BINDIR=$appsDir \
|
||||
-DSYSTEM_LIBSNDFILE=ON \
|
||||
-DSYSTEM_FFTW=ON \
|
||||
-DSYSTEM_FMT=ON \
|
||||
-DSYSTEM_RTMIDI=ON \
|
||||
-DSYSTEM_SDL2=ON \
|
||||
-DSYSTEM_ZLIB=ON
|
||||
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -C build install
|
||||
|
||||
mv $appsDir/furnace $appsDir/Furnace
|
||||
rm -rf $dataDir/{applications,icons,licenses,metainfo}
|
||||
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
|
||||
local APP_NAME="Furnace"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
local APP_SIGNATURE="application/x-vnd.furnace"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
-e "s|@APP_NAME@|$APP_NAME|" \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
$portDir/additional-files/furnace.rdef.in > furnace.rdef
|
||||
addResourcesToBinaries furnace.rdef $appsDir/Furnace
|
||||
|
||||
addAppDeskbarSymlink $appsDir/Furnace
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make -C build check
|
||||
}
|
||||
Reference in New Issue
Block a user