Changes to black compression and saturation controls. Black compression from 0-50 acts the same as 0-100 on the previous version, compressing dark tones without crushing blacks. 50-100 then starts crushing blacks until by 100 on the slider, all tones up to the set black point are sent to zero. In the new saturation control, negative values of the slider set a linear curve rather than an inverted S curve, and smoothly decrease saturation to zero across the board.

This commit is contained in:
Emil Martinec
2010-10-26 22:59:18 -05:00
commit 926056c2c2
620 changed files with 130476 additions and 0 deletions

BIN
tools/osx/Icons.icns Normal file

Binary file not shown.

28
tools/osx/Info.plist Normal file
View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>start</string>
<key>CFBundleIconFile</key>
<string>Icons.icns</string>
<key>CFBundleIdentifier</key>
<string>com.rawtherapee.rawtherapee</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>RawTherapee</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0a</string>
<key>CFBundleSignature</key>
<string>APPL</string>
<key>CFBundleVersion</key>
<string>3.0 Alpha</string>
<key>NSAppleScriptEnabled</key>
<string>NO</string>
</dict>
</plist>

98
tools/osx/make-app-bundle Executable file
View File

@@ -0,0 +1,98 @@
#!/bin/bash
# Function checkLink:
# args: $1 - file
#
# Will loop through all dynamic links for $file, and update each to be relative.
function checkLink {
#echo "checkLink called with $1 $2"
local FILE=$1
otool -L $FILE | grep -v "${APP}" | grep -v '/usr/lib' | grep -v '/System/' | grep -v "@executable_path" | cut -f 1 -d ' ' | while read X
do
local NAME=${LIB}/`basename "$X"`
if [ ! -f "${NAME}" ]
then
cp $X "${NAME}"
#Recursively update the linkage of libraries
checkLink "${NAME}"
fi
done
}
APP=RawTherapee.app
CONTENTS=${APP}/Contents
RESOURCES=${CONTENTS}/Resources
MACOS=${CONTENTS}/MacOS
BIN=${MACOS}/bin
ETC=${MACOS}/etc
LIB=${MACOS}/lib
SHARE=${MACOS}/share
RELEASE=release
DMG=${RELEASE}/rawtherapee_osx105_`date +%F`_`hg parents --template '{latesttag}+{latesttagdistance}-{node|short}'`.dmg
EXECUTABLE=rt
#Find where MacPorts is installed. We take a known binary (cmake), which is in <MacPorts>/bin, and
# go up a level to get the main install folder.
MACPORTS_PREFIX=`which cmake`
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
if [ ! -d ${RELEASE} ]; then
echo "Please run this from the root of the project; i.e. './tools/osx/make-app-bundle'."
exit
fi
if [ -d "${APP}" ]; then
echo "Removing old application..."
rm -rf "${APP}"
fi
echo "Removing any old disk images..."
rm ${RELEASE}/rawtherapee*.dmg
echo "Making application directory structure..."
mkdir -p "${RESOURCES}"
mkdir -p "${ETC}"
mkdir -p "${LIB}"
mkdir -p "${SHARE}/mime"
#Copy over non-explicitly linked libraries
echo "Copying libraries from ${MACPORTS_PREFIX}..."
cp -R ${MACPORTS_PREFIX}/lib/pango ${LIB}
cp -R ${MACPORTS_PREFIX}/lib/gtk-2.0 ${LIB}
#Copy over mimes (if a mime is copied, and nobody hears, is it really copied?)
echo "Copying shared files from ${MACPORTS_PREFIX}..."
cp -R ${MACPORTS_PREFIX}/share/mime/* ${SHARE}/mime
#Copy over etc files, and modify as needed
echo "Copying configuration files from ${MACPORTS_PREFIX} and modifying for standalone app bundle..."
cp -R $MACPORTS_PREFIX/etc/gtk-2.0 ${ETC}
cp -R $MACPORTS_PREFIX/etc/pango ${ETC}
ESCAPED_MACPORTS_PREFIX=`echo ${MACPORTS_PREFIX} | sed -e 's/\\//\\\\\\//g'`
sed -i .bak -e "s/${ESCAPED_MACPORTS_PREFIX}/@executable_path/g" ${ETC}/gtk-2.0/gdk-pixbuf.loaders ${ETC}/pango/pango.modules
echo -e "[Pango]\nModuleFiles = /tmp/${EXECUTABLE}_pango.modules" > ${ETC}/pango/pangorc
#Copy over the release files
echo "Copying release files..."
cp -R release/* ${MACOS}
#Copy application-specific stuff like icons and startup script
echo "Creating required application bundle files..."
cp ./tools/osx/Info.plist ${CONTENTS}
cp tools/osx/Icons.icns ${RESOURCES}
cp tools/osx/start ${MACOS}
#Copy and relink the explicitly defined libraries
echo "Recursively copying libraries referenced by executable..."
checkLink "${MACOS}/${EXECUTABLE}"
#Make a .dmg for distribution and delete the .app
echo "Creating distribution .dmg..."
hdiutil create -srcdir ${APP} ${DMG}
echo "Cleaning up..."
rm -rf ${APP}
echo "All done!"

20
tools/osx/start Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
CWD=`dirname "$0"`
echo $CWD
export DYLD_LIBRARY_PATH="${CWD}/lib:$DYLD_LIBRARY_PATH"
export GTK_DATA_PREFIX="${CWD}"
export GTK_DATA_DIRS="${CWD}"
export GTK_EXE_PREFIX="${CWD}"
export GTK_PATH="${CWD}"
export GTK2_RC_FILES="${CWD}/etc/gtk-2.0/gtkrc"
export GTK_IM_MODULE_FILE="${CWD}/gtk-2.0/gtk.immodules"
export GDK_PIXBUF_MODULE_FILE="${CWD}/etc/gtk-2.0/gdk-pixbuf.loaders"
export PANGO_RC_FILE="${CWD}/etc/pango/pangorc"
cp "${CWD}/etc/pango/pango.modules" /tmp/rt_pango.modules
"${CWD}/rt"