Merge remote-tracking branch 'origin/stable-1.0'
Conflicts: plugins/CMakeLists.txt plugins/zynaddsubfx/src/Effects/Alienwah.cpp src/core/track.cpp
This commit is contained in:
@@ -43,6 +43,19 @@ OPTION(WANT_VST "Include VST support" ON)
|
||||
OPTION(WANT_VST_NOWINE "Include partial VST support (without wine)" OFF)
|
||||
OPTION(WANT_WINMM "Include WinMM MIDI support" OFF)
|
||||
|
||||
|
||||
IF(LMMS_BUILD_APPLE)
|
||||
SET(WANT_ALSA OFF)
|
||||
SET(WANT_PULSEAUDIO OFF)
|
||||
SET(WANT_SWH OFF)
|
||||
SET(WANT_VST OFF)
|
||||
SET(STATUS_ALSA "<not supported on this platform>")
|
||||
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
|
||||
# MacPorts: /opt/local/lib
|
||||
LINK_DIRECTORIES(${LINK_DIRECTORIES} /opt/local/lib)
|
||||
ENDIF(LMMS_BUILD_APPLE)
|
||||
|
||||
|
||||
IF(LMMS_BUILD_WIN32)
|
||||
SET(WANT_ALSA OFF)
|
||||
SET(WANT_JACK OFF)
|
||||
@@ -307,7 +320,11 @@ CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/lmms.rc.in" "${CMAKE_BINARY_DIR}/lmms.rc")
|
||||
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc.in" "${CMAKE_BINARY_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc")
|
||||
|
||||
# set compiler flags
|
||||
SET(WERROR_FLAGS "-Wall -Werror -Werror=unused-function -Wno-sign-compare -Wno-strict-overflow")
|
||||
SET(WERROR_FLAGS "-Wall -Werror=unused-function -Wno-sign-compare -Wno-strict-overflow")
|
||||
IF(NOT LMMS_BUILD_APPLE)
|
||||
SET(WERROR_FLAGS "${WERROR_FLAGS} -Werror")
|
||||
ENDIF()
|
||||
|
||||
SET(CMAKE_C_FLAGS "-O2 -g ${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
|
||||
SET(CMAKE_CXX_FLAGS "-O2 -g -fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-DLMMS_DEBUG")
|
||||
|
||||
BIN
data/dmg_branding.png
Normal file
BIN
data/dmg_branding.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 243 KiB |
BIN
data/lmms.icns
Normal file
BIN
data/lmms.icns
Normal file
Binary file not shown.
3023
data/locale/pt_br.ts
3023
data/locale/pt_br.ts
File diff suppressed because it is too large
Load Diff
139
data/scripts/create_apple_dmg.sh
Executable file
139
data/scripts/create_apple_dmg.sh
Executable file
@@ -0,0 +1,139 @@
|
||||
#!/bin/bash
|
||||
|
||||
# by Andy Maloney
|
||||
# http://asmaloney.com/2013/07/howto/packaging-a-mac-os-x-application-using-a-dmg/
|
||||
|
||||
# make sure we are in the correct dir when we double-click a .command file
|
||||
dir=${0%/*}
|
||||
if [ -d "$dir" ]; then
|
||||
cd "$dir"
|
||||
fi
|
||||
|
||||
# set up your app name, version number, and background image file name
|
||||
APP_NAME="LMMS"
|
||||
VERSION="1.0.0"
|
||||
DMG_BACKGROUND_IMG="dmg_branding.png"
|
||||
cp $HOME/lmms/data/$DMG_BACKGROUND_IMG .
|
||||
|
||||
# you should not need to change these
|
||||
APP_LOWERCASE=$(echo $APP_NAME|tr '[:upper:]' '[:lower:]')
|
||||
APP_EXE="${APP_NAME}.app/Contents/MacOS/${APP_LOWERCASE}"
|
||||
|
||||
VOL_NAME="${APP_NAME} ${VERSION}" # volume name will be "SuperCoolApp 1.0.0"
|
||||
DMG_TMP="${VOL_NAME}-temp.dmg"
|
||||
DMG_FINAL="${VOL_NAME}.dmg" # final DMG name will be "SuperCoolApp 1.0.0.dmg"
|
||||
STAGING_DIR="./Install" # we copy all our stuff into this dir
|
||||
|
||||
# Check the background image DPI and convert it if it isn't 72x72
|
||||
_BACKGROUND_IMAGE_DPI_H=`sips -g dpiHeight ${DMG_BACKGROUND_IMG} | grep -Eo '[0-9]+\.[0-9]+'`
|
||||
_BACKGROUND_IMAGE_DPI_W=`sips -g dpiWidth ${DMG_BACKGROUND_IMG} | grep -Eo '[0-9]+\.[0-9]+'`
|
||||
|
||||
if [ $(echo " $_BACKGROUND_IMAGE_DPI_H != 72.0 " | bc) -eq 1 -o $(echo " $_BACKGROUND_IMAGE_DPI_W != 72.0 " | bc) -eq 1 ]; then
|
||||
echo "WARNING: The background image's DPI is not 72. This will result in distorted backgrounds on Mac OS X 10.7+."
|
||||
echo " I will convert it to 72 DPI for you."
|
||||
|
||||
_DMG_BACKGROUND_TMP="${DMG_BACKGROUND_IMG%.*}"_dpifix."${DMG_BACKGROUND_IMG##*.}"
|
||||
|
||||
sips -s dpiWidth 72 -s dpiHeight 72 ${DMG_BACKGROUND_IMG} --out ${_DMG_BACKGROUND_TMP}
|
||||
|
||||
DMG_BACKGROUND_IMG="${_DMG_BACKGROUND_TMP}"
|
||||
fi
|
||||
|
||||
# clear out any old data
|
||||
rm -rf "${STAGING_DIR}" "${DMG_TMP}" "${DMG_FINAL}"
|
||||
|
||||
# copy over the stuff we want in the final disk image to our staging dir
|
||||
mkdir -p "${STAGING_DIR}"
|
||||
cp -rpf "${APP_NAME}.app" "${STAGING_DIR}"
|
||||
# ... cp anything else you want in the DMG - documentation, etc.
|
||||
|
||||
pushd "${STAGING_DIR}"
|
||||
|
||||
# strip the executable
|
||||
echo "Stripping ${APP_EXE}..."
|
||||
strip -u -r "${APP_EXE}"
|
||||
|
||||
# compress the executable if we have upx in PATH
|
||||
# UPX: http://upx.sourceforge.net/
|
||||
if hash upx 2>/dev/null; then
|
||||
echo "Compressing (UPX) ${APP_EXE}..."
|
||||
upx -9 "${APP_EXE}"
|
||||
fi
|
||||
|
||||
# ... perform any other stripping/compressing of libs and executables
|
||||
|
||||
popd
|
||||
|
||||
# figure out how big our DMG needs to be
|
||||
# assumes our contents are at least 1M!
|
||||
SIZE=`du -sh "${STAGING_DIR}" | sed 's/\([0-9\.]*\)M\(.*\)/\1/'`
|
||||
SIZE=`echo "${SIZE} + 5.0" | bc | awk '{print int($1+0.5)}'`
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Cannot compute size of staging dir"
|
||||
exit
|
||||
fi
|
||||
|
||||
# create the temp DMG file
|
||||
hdiutil create -srcfolder "${STAGING_DIR}" -volname "${VOL_NAME}" -fs HFS+ \
|
||||
-fsargs "-c c=64,a=16,e=16" -format UDRW -size ${SIZE}M "${DMG_TMP}"
|
||||
|
||||
echo "Created DMG: ${DMG_TMP}"
|
||||
|
||||
# mount it and save the device
|
||||
DEVICE=$(hdiutil attach -readwrite -noverify "${DMG_TMP}" | \
|
||||
egrep '^/dev/' | sed 1q | awk '{print $1}')
|
||||
|
||||
sleep 2
|
||||
|
||||
# add a link to the Applications dir
|
||||
echo "Add link to /Applications"
|
||||
pushd /Volumes/"${VOL_NAME}"
|
||||
ln -s /Applications
|
||||
popd
|
||||
|
||||
# add a background image
|
||||
mkdir /Volumes/"${VOL_NAME}"/.background
|
||||
cp "${DMG_BACKGROUND_IMG}" /Volumes/"${VOL_NAME}"/.background/
|
||||
|
||||
# tell the Finder to resize the window, set the background,
|
||||
# change the icon size, place the icons in the right position, etc.
|
||||
echo '
|
||||
tell application "Finder"
|
||||
tell disk "'${VOL_NAME}'"
|
||||
open
|
||||
set current view of container window to icon view
|
||||
set toolbar visible of container window to false
|
||||
set statusbar visible of container window to false
|
||||
set the bounds of container window to {400, 100, 920, 440}
|
||||
set viewOptions to the icon view options of container window
|
||||
set arrangement of viewOptions to not arranged
|
||||
set icon size of viewOptions to 72
|
||||
set background picture of viewOptions to file ".background:'${DMG_BACKGROUND_IMG}'"
|
||||
set position of item "'${APP_NAME}'.app" of container window to {160, 205}
|
||||
set position of item "Applications" of container window to {360, 205}
|
||||
close
|
||||
open
|
||||
update without registering applications
|
||||
delay 2
|
||||
end tell
|
||||
end tell
|
||||
' | osascript
|
||||
|
||||
sync
|
||||
|
||||
# unmount it
|
||||
hdiutil detach "${DEVICE}"
|
||||
|
||||
# now make the final image a compressed disk image
|
||||
echo "Creating compressed image"
|
||||
hdiutil convert "${DMG_TMP}" -format UDZO -imagekey zlib-level=9 -o "${DMG_FINAL}"
|
||||
|
||||
# clean up
|
||||
rm -rf "${DMG_TMP}"
|
||||
rm -rf "${STAGING_DIR}"
|
||||
rm -rf "${DMG_BACKGROUND_IMG}"
|
||||
|
||||
echo 'Done.'
|
||||
|
||||
exit
|
||||
124
data/scripts/create_apple_installer.sh
Executable file
124
data/scripts/create_apple_installer.sh
Executable file
@@ -0,0 +1,124 @@
|
||||
#!/bin/bash
|
||||
#title :create_applet_installer.sh
|
||||
#description :Creates Apple ".app" bundle for LMMS
|
||||
#author :Tres Finocchiaro
|
||||
#date :20140331
|
||||
#version :1.0
|
||||
#usage :bash create_applet_installer.sh
|
||||
#notes :See also https://github.com/LMMS
|
||||
#notes :Troubleshooting try: export DYLD_PRINT_LIBRARIES=1
|
||||
#requires :deploymacqt
|
||||
#=========================================================================================
|
||||
|
||||
# MacPorts Location
|
||||
MACPORTS=/opt/local
|
||||
|
||||
# LMMS source directory
|
||||
CMAKE_SRC=$HOME/lmms
|
||||
|
||||
# LMMS compiled resources
|
||||
CMAKE_INSTALL=$CMAKE_SRC/target
|
||||
|
||||
# LMMS source build directory
|
||||
CMAKE_BUILD=$CMAKE_SRC/build
|
||||
|
||||
|
||||
|
||||
# Place to create ".app" bundle
|
||||
APP=$HOME/Desktop/LMMS.app
|
||||
|
||||
# MacPorts installs libreadline with wrong permissions
|
||||
LIBREADLINE=$MACPORTS/lib/libreadline.6.2.dylib
|
||||
|
||||
#=========================================================================================
|
||||
|
||||
echo -e "\n\nRunning..."
|
||||
|
||||
# Check for u+w permissions on libreadline
|
||||
_perm=`stat -f "%p" $LIBREADLINE`
|
||||
_perm=${_perm:3:1}
|
||||
if [ ${_perm} != "7" ]
|
||||
then
|
||||
echo -e "\n\n\t\t\t\t***********\n\t\t\t\t* WARNING *\n\t\t\t\t***********"
|
||||
echo -e "File $LIBREADLINE is not marked as user writable."
|
||||
echo -e "This will break macdeployqt's linking process after it is copied."
|
||||
echo -e "A sudo password is required to elevate and fix using chmod u+w."
|
||||
echo -e "\nPLEASE ENTER SUDO PASSWORD:"
|
||||
sudo chmod u+w $MACPORTS/lib/libreadline.6.2.dylib
|
||||
fi
|
||||
|
||||
# Remove any old .app bundles
|
||||
rm -Rf $APP
|
||||
|
||||
# Create new bundle, copy our built code to it
|
||||
mkdir -p $APP
|
||||
cd $CMAKE_INSTALL
|
||||
mkdir $APP/Contents
|
||||
cp -R * $APP/Contents
|
||||
|
||||
# Make all libraries writable for macdeployqt
|
||||
cd $APP
|
||||
find . -type f -print0 | xargs -0 chmod u+w
|
||||
|
||||
# Move lmms binary to the proper location
|
||||
mkdir -p $APP/Contents/MacOS
|
||||
mv $APP/Contents/bin/lmms $APP/Contents/MacOS
|
||||
rmdir $APP/Contents/bin
|
||||
|
||||
# Move libraries to proper locations
|
||||
mkdir -p $APP/Contents/Frameworks
|
||||
mv $APP/Contents/lib/lmms/libZynAddSubFxCore.dylib \
|
||||
$APP/Contents/Frameworks/libZynAddSubFxCore.dylib
|
||||
|
||||
mv $APP/Contents/lib/lmms/RemoteZynAddSubFx \
|
||||
$APP/Contents/MacOS/RemoteZynAddSubFx
|
||||
|
||||
# Fix more Zyn Linking issues
|
||||
# install_name_tool -change $CMAKE_INSTALL/lib/lmms/libZynAddSubFxCore.dylib \
|
||||
# @loader_path/../../Frameworks/libZynAddSubFxCore.dylib \
|
||||
# $APP/Contents/lib/lmms/libzynaddsubfx.so
|
||||
|
||||
install_name_tool -change libZynAddSubFxCore.dylib \
|
||||
@loader_path/../../Frameworks/libZynAddSubFxCore.dylib \
|
||||
$APP/Contents/lib/lmms/libzynaddsubfx.so
|
||||
|
||||
install_name_tool -change $CMAKE_BUILD/plugins/zynaddsubfx/libZynAddSubFxCore.dylib \
|
||||
@loader_path/../../Frameworks/libZynAddSubFxCore.dylib \
|
||||
$APP/Contents/MacOS/RemoteZynAddSubFx
|
||||
|
||||
# Build a list of shared objects in target/lib/lmms
|
||||
for file in $APP/Contents/lib/lmms/*.so; do
|
||||
_executables="$_executables -executable=$APP/Contents/lib/lmms/${file##*/}"
|
||||
done
|
||||
|
||||
# Build a list of shared objects in target/lib/lmms/ladspa
|
||||
for file in $APP/Contents/lib/lmms/ladspa/*.so; do
|
||||
_executables="$_executables -executable=$APP/Contents/lib/lmms/ladspa/${file##*/}"
|
||||
done
|
||||
|
||||
# Additional binaries that require linking
|
||||
_executables="$_executables -executable=$APP/Contents/MacOS/RemoteZynAddSubFx"
|
||||
_executables="$_executables -executable=$APP/Contents/Frameworks/libZynAddSubFxCore.dylib"
|
||||
|
||||
# Build our App Package using "macdeployqt"
|
||||
macdeployqt $APP $_executables
|
||||
|
||||
# OS X Specific Artwork
|
||||
cp $CMAKE_SRC/data/lmms.icns $APP/Contents/Resources/
|
||||
|
||||
# Create "Info.plist" using lmms.icns file, http://iconverticons.com/online/)
|
||||
echo -e "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > "$APP/Contents/Info.plist"
|
||||
echo -e "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\"" >> "$APP/Contents/Info.plist"
|
||||
echo -e "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">" >> "$APP/Contents/Info.plist"
|
||||
echo -e " <plist version=\"1.0\">" >> "$APP/Contents/Info.plist"
|
||||
echo -e " <dict>" >> "$APP/Contents/Info.plist"
|
||||
echo -e " <key>CFBundleIconFile</key>" >> "$APP/Contents/Info.plist"
|
||||
echo -e " <string>lmms.icns</string>" >> "$APP/Contents/Info.plist"
|
||||
echo -e " </dict>" >> "$APP/Contents/Info.plist"
|
||||
echo -e "</plist>" >> "$APP/Contents/Info.plist"
|
||||
|
||||
# Done. Ready to build DMG
|
||||
echo -e "\nFinished.\n\nPlease run \"create_apple_dmg.sh\" from the Desktop to build the installer.\n"
|
||||
echo -e "Note: You can drag/drop it into this terminal window.)\n"
|
||||
cp $CMAKE_SRC/data/scripts/create_apple_dmg.sh $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/create_apple_dmg.sh
|
||||
@@ -1,6 +1,9 @@
|
||||
/********************
|
||||
* LMMS style sheet *
|
||||
********************/
|
||||
QLabel {
|
||||
color: #e0e0e0;
|
||||
}
|
||||
|
||||
QWhatsThat {
|
||||
color: black;
|
||||
|
||||
@@ -13,8 +13,10 @@ ADD_SUBDIRECTORY(lb302)
|
||||
#ADD_SUBDIRECTORY(lb303)
|
||||
ADD_SUBDIRECTORY(midi_import)
|
||||
ADD_SUBDIRECTORY(monstro)
|
||||
IF(NOT LMMS_BUILD_APPLE)
|
||||
ADD_SUBDIRECTORY(opl2)
|
||||
ENDIF()
|
||||
ADD_SUBDIRECTORY(organic)
|
||||
ADD_SUBDIRECTORY(opl2)
|
||||
ADD_SUBDIRECTORY(papu)
|
||||
ADD_SUBDIRECTORY(patman)
|
||||
ADD_SUBDIRECTORY(peak_controller_effect)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include "embed.cpp"
|
||||
|
||||
#ifdef LMMS_BUILD_WIN32
|
||||
#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE)
|
||||
#ifndef isnanf
|
||||
#define isnanf(x) isnan(x)
|
||||
#endif
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#define INLINE __inline
|
||||
#define INLINE static inline
|
||||
#define HAS_YM3812 1
|
||||
|
||||
#include <stdio.h>
|
||||
@@ -39,7 +39,7 @@
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <math.h>
|
||||
//#include "driver.h" /* use M.A.M.E. */
|
||||
/* #include "driver.h" */ /* use M.A.M.E. */
|
||||
#include "fmopl.h"
|
||||
|
||||
#ifndef PI
|
||||
@@ -236,10 +236,10 @@ INT32 feedback2; /* connect for SLOT 2 */
|
||||
#define LOG_WAR 2 /* WARNING */
|
||||
#define LOG_INF 1 /* INFORMATION */
|
||||
|
||||
//#define LOG_LEVEL LOG_INF
|
||||
/* #define LOG_LEVEL LOG_INF */
|
||||
#define LOG_LEVEL LOG_ERR
|
||||
|
||||
//#define LOG(n,x) if( (n)>=LOG_LEVEL ) logerror x
|
||||
/* #define LOG(n,x) if( (n)>=LOG_LEVEL ) logerror x */
|
||||
#define LOG(n,x)
|
||||
|
||||
/* --------------------- subroutines --------------------- */
|
||||
@@ -313,7 +313,7 @@ INLINE void OPL_KEYOFF(OPL_SLOT *SLOT)
|
||||
/* set envelope counter from envleope output */
|
||||
SLOT->evm = ENV_MOD_RR;
|
||||
if( !(SLOT->evc&EG_DST) )
|
||||
//SLOT->evc = (ENV_CURVE[SLOT->evc>>ENV_BITS]<<ENV_BITS) + EG_DST;
|
||||
/* SLOT->evc = (ENV_CURVE[SLOT->evc>>ENV_BITS]<<ENV_BITS) + EG_DST; */
|
||||
SLOT->evc = EG_DST;
|
||||
SLOT->eve = EG_DED;
|
||||
SLOT->evs = SLOT->evsr;
|
||||
@@ -545,10 +545,10 @@ INLINE void OPL_CALC_RH( OPL_CH *CH )
|
||||
outd[0] += OP_OUT(SLOT,env_out, feedback2)*2;
|
||||
}
|
||||
|
||||
// SD (17) = mul14[fnum7] + white noise
|
||||
// TAM (15) = mul15[fnum8]
|
||||
// TOP (18) = fnum6(mul18[fnum8]+whitenoise)
|
||||
// HH (14) = fnum7(mul18[fnum8]+whitenoise) + white noise
|
||||
/* SD (17) = mul14[fnum7] + white noise
|
||||
TAM (15) = mul15[fnum8]
|
||||
TOP (18) = fnum6(mul18[fnum8]+whitenoise)
|
||||
HH (14) = fnum7(mul18[fnum8]+whitenoise) + white noise */
|
||||
env_sd =OPL_CALC_SLOT(SLOT7_2) + whitenoise;
|
||||
env_tam=OPL_CALC_SLOT(SLOT8_1);
|
||||
env_top=OPL_CALC_SLOT(SLOT8_2);
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
/* --- select emulation chips --- */
|
||||
#define BUILD_YM3812 (HAS_YM3812)
|
||||
//#define BUILD_YM3526 (HAS_YM3526)
|
||||
//#define BUILD_Y8950 (HAS_Y8950)
|
||||
/* #define BUILD_YM3526 (HAS_YM3526) */
|
||||
/* #define BUILD_Y8950 (HAS_Y8950) */
|
||||
|
||||
/* --- system optimize --- */
|
||||
/* select bit size of output : 8 or 16 */
|
||||
|
||||
@@ -24,7 +24,12 @@
|
||||
|
||||
#include "lmmsconfig.h"
|
||||
|
||||
#ifndef LMMS_BUILD_APPLE
|
||||
#include <Qt/QtXml>
|
||||
#endif
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
#include <QtXml>
|
||||
#endif
|
||||
#include <QtCore/QTemporaryFile>
|
||||
#include <QtGui/QDropEvent>
|
||||
#include <QtGui/QGridLayout>
|
||||
|
||||
@@ -1095,7 +1095,7 @@ void trackContentWidget::dropEvent( QDropEvent * _de )
|
||||
m_trackView->trackContainerView()->fixedTCOs() == false )
|
||||
{
|
||||
const MidiTime pos = getPosition( _de->pos().x()
|
||||
).toNearestTact();
|
||||
).getTact() * MidiTime::ticksPerTact();
|
||||
getTrack()->addJournalCheckPoint();
|
||||
trackContentObject * tco = getTrack()->createTCO( pos );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user