Skip to content

Commit

Permalink
Add SF2 support for macOS (#3446)
Browse files Browse the repository at this point in the history
* Add SF2 support for macOS

Closes #649
  • Loading branch information
tresf committed Mar 21, 2017
1 parent 17a6f37 commit f57202c
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 8 deletions.
8 changes: 7 additions & 1 deletion .travis/osx..install.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash

PACKAGES="cmake pkgconfig fftw libogg libvorbis libsndfile libsamplerate jack sdl stk fluid-synth portaudio node fltk"
PACKAGES="cmake pkgconfig fftw libogg libvorbis libsndfile libsamplerate jack sdl stk portaudio node fltk"

if [ $QT5 ]; then
PACKAGES="$PACKAGES homebrew/versions/qt55"
Expand All @@ -10,4 +10,10 @@ fi

brew install $PACKAGES

# Recompile fluid-synth without CoreAudio per issues #649
# Changes to fluid-synth.rb must be pushed to URL prior to use
url=$(git remote get-url origin)
branch=$(git symbolic-ref --short HEAD)
brew install --build-from-source $url/raw/$branch/cmake/apple/fluid-synth.rb

sudo npm install -g appdmg
1 change: 0 additions & 1 deletion CMakeLists.txt
Expand Up @@ -67,7 +67,6 @@ OPTION(WANT_QT5 "Build with Qt5" OFF)


IF(LMMS_BUILD_APPLE)
SET(WANT_SF2 OFF)
SET(WANT_ALSA OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_VST OFF)
Expand Down
42 changes: 42 additions & 0 deletions cmake/apple/fluid-synth.rb
@@ -0,0 +1,42 @@
# Copyright (c) 2009-present, Homebrew contributors
# License: BSD 2-Clause

class FluidSynth < Formula
desc "Real-time software synthesizer based on the SoundFont 2 specs"
homepage "http://www.fluidsynth.org"
url "https://downloads.sourceforge.net/project/fluidsynth/fluidsynth-1.1.6/fluidsynth-1.1.6.tar.gz"
sha256 "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bccee2171c"

bottle do
cellar :any
rebuild 1
sha256 "ee86f0e263db0610a340592d725bd2c05bc5ed1bfa6eb496ae304297de261ae0" => :sierra
sha256 "dfe31491d27c3c29ff4686900984e5884f89cd249d82b3dba4ad077f7bbe9057" => :el_capitan
sha256 "6938c03a61b696870de92435dc0a6e6118fbb0d68adcd0d17ec8d30c2f7eee20" => :yosemite
sha256 "5c5e00f88e45dd661c15f0e13793f9cc96f285b08200145ce8b77982350a5625" => :mavericks
sha256 "83b972cf7aec57e78dc1c1a6b3e286d8b9bf2a2622e174bca42efa8576e36e5f" => :mountain_lion
end

depends_on "pkg-config" => :build
depends_on "cmake" => :build
depends_on "glib"
depends_on "libsndfile" => :optional
depends_on "portaudio" => :optional

def install
args = std_cmake_args
args << "-Denable-framework=OFF" << "-DLIB_SUFFIX="
args << "-Denable-portaudio=ON" if build.with? "portaudio"
args << "-Denable-libsndfile=OFF" if build.without? "libsndfile"
args << "-Denable-coreaudio=OFF" # Per lmms/issues/649

mkdir "build" do
system "cmake", "..", *args
system "make", "install"
end
end

test do
assert_match /#{version}/, shell_output("#{bin}/fluidsynth --version")
end
end
7 changes: 1 addition & 6 deletions plugins/CMakeLists.txt
Expand Up @@ -67,6 +67,7 @@ IF("${PLUGIN_LIST}" STREQUAL "")
peak_controller_effect
GigPlayer
ReverbSC
sf2_player
sfxr
sid
SpectrumAnalyzer
Expand All @@ -82,12 +83,6 @@ IF("${PLUGIN_LIST}" STREQUAL "")
zynaddsubfx
)

IF(NOT LMMS_BUILD_APPLE)
SET(PLUGIN_LIST
${PLUGIN_LIST}
sf2_player
)
ENDIF()
ENDIF("${PLUGIN_LIST}" STREQUAL "")

FOREACH(PLUGIN ${PLUGIN_LIST})
Expand Down

0 comments on commit f57202c

Please sign in to comment.