From 6c9500b40cdcd5f436619d1f70be78d76b4b4d81 Mon Sep 17 00:00:00 2001 From: Michales Michaloudes Date: Fri, 4 Jul 2025 00:05:45 +0700 Subject: [PATCH] multimedia/sonivox: Added (Wave Table synthesizer). Signed-off-by: Willy Sudiarto Raharjo --- multimedia/sonivox/README | 14 +++ multimedia/sonivox/slack-desc | 19 ++++ multimedia/sonivox/sonivox.SlackBuild | 127 ++++++++++++++++++++++++++ multimedia/sonivox/sonivox.info | 12 +++ 4 files changed, 172 insertions(+) create mode 100644 multimedia/sonivox/README create mode 100644 multimedia/sonivox/slack-desc create mode 100644 multimedia/sonivox/sonivox.SlackBuild create mode 100644 multimedia/sonivox/sonivox.info diff --git a/multimedia/sonivox/README b/multimedia/sonivox/README new file mode 100644 index 0000000000..222f976b15 --- /dev/null +++ b/multimedia/sonivox/README @@ -0,0 +1,14 @@ +This project is a fork of the Android Open Source Project +'platform_external_sonivox', including a CMake based build system to be +used not on Android, but on any other computer Operating System. Google +licensed this work originally named Sonivox EAS (Embedded Audio +Synthesis) from the company Sonic Network Inc. under the terms of the +Apache License 2.0. + +This is a Wave Table synthesizer, not using external soundfont files by +default but embedded samples. It also supports external DLS soundfont +files for better rendering quality. It is also a real time GM +synthesizer. It consumes very little resources, so it may be indicated +in projects for small embedded devices. There is neither MIDI input nor +Audio output facilities included in the library. You need to provide +your own input/output. diff --git a/multimedia/sonivox/slack-desc b/multimedia/sonivox/slack-desc new file mode 100644 index 0000000000..10c577523b --- /dev/null +++ b/multimedia/sonivox/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +sonivox: sonivox (Wave Table Synthesizer with embedded samples) +sonivox: +sonivox: This project is a fork of the Android Open Source Project +sonivox: 'platform_external_sonivox', including a CMake based build system to +sonivox: be used not on Android, but on any other computer Operating System. +sonivox: Google licensed this work originally named Sonivox EAS (Embedded +sonivox: Audio Synthesis) from the company Sonic Network Inc. under the terms +sonivox: of the Apache License 2.0. +sonivox: +sonivox: +sonivox: diff --git a/multimedia/sonivox/sonivox.SlackBuild b/multimedia/sonivox/sonivox.SlackBuild new file mode 100644 index 0000000000..027c3b48fe --- /dev/null +++ b/multimedia/sonivox/sonivox.SlackBuild @@ -0,0 +1,127 @@ +#!/bin/bash + +# Slackware build script for + +# Copyright 2025, Michales Michaloudes (clavisound), Greece +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=sonivox +VERSION=${VERSION:-3.6.16} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi +TMP=${TMP:-/tmp/SBo} + +# sonivox wants this +# first copy TEMP to OLDTEMP to restore if user has env with TEMP +OLDTEMP=$TEMP +export TEMP=$TMP/$PRGNAM-$VERSION + +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "aarch64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +ln -s $CWD/Airfont_340.dls soundfont.dls +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=/usr/man \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. + +# reset TEMP +export TEMP=$OLDTEMP + +# -DMAN_INSTALL_DIR is ignored +mkdir -p $PKG/usr/man +mv $PKG/usr/share/man $PKG/usr/ +rm -rf $PKG/usr/share + +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ +CONTRIBUTING.md LICENSE LICENSE-2.0.txt \ + NOTICE OWNERS README.md docs/EAS*.pdf docs/*.html docs/JET*_files \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE + diff --git a/multimedia/sonivox/sonivox.info b/multimedia/sonivox/sonivox.info new file mode 100644 index 0000000000..a6b9a9cac5 --- /dev/null +++ b/multimedia/sonivox/sonivox.info @@ -0,0 +1,12 @@ +PRGNAM="sonivox" +VERSION="3.6.16" +HOMEPAGE="https://github.com/pedrolcl/sonivox/" +DOWNLOAD="https://github.com/pedrolcl/sonivox/archive/v3.6.16/sonivox-3.6.16.tar.gz \ + http://www.ronimusic.com/sf2/Airfont_340.dls" +MD5SUM="5fda531e1e9a25e3bfeefd51d582cdc9 \ + 40c0cd4ad29ae411a8fc3d6681002a2b" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="gtest" +MAINTAINER="Michales Michaloudes" +EMAIL="korgie@gmail.com"