TablEdit
Informations
| Creator | Meddelanden |
|---|---|
VolkerFroehlich
|
WarningThis installer is a beta script. It means that it might not work as expected InformationsPlatforms: Feedbacks1 1 DescriptionCreating, editing, printing and listening to tablature and sheet music (standard notation) for guitar and other fretted, stringed instruments. Website. ScreenshotsSource code#!/usr/bin/env playonlinux-bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
######################
# created Do 4. Mär 19:07:41 CET 2021
######################
# global parameters
TITLE="TablEdit"
PREFIX="tabledit"
AUTHOR="VolkerFroehlich"
EDITOR="Matthieu Leschemelle"
EDITOR_URL="https://tabledit.com/"
MD5=""
DOWNLOAD_RGSTRED_PATH="https://tabledit.com/secured/tev301.exe"
DOWNLOAD_PREVIEW_PATH="https://tabledit.com/download/tabled32.exe"
EXECUTABLE_FILE="tableditdemo.exe"
# automation parameters
USE_AUTOMATION="0" # 1: do not ask user
USE_REGISTERED_VERSION=0 # 1: use registered version
[ "$USE_REGISTERED_VERSION" = "1" ] && EXECUTABLE_FILE="tabledit.exe"
######################
# FUNCTIONS
# ==============================================================
getRegisteredOrPreview()
# --------------------------------------------------------------
# Ask user for TablEdit registration info.
# We require this for access to the secured download page
# and later to add registration data to the windows registry.
# Store input to variables
# TE_USR: username
# TE_PWD: password
# ==============================================================
{
TE_USR="" # with USE_AUTOMATION=1 you can predefine your
TE_PWD="" # tabledit registered user/password here
[ "$USE_AUTOMATION" = "1" ] && return 0
# -------------------
# ask user if registered
MSG="If you do have a user name and password we install the full version, else the preview demo.\n\nAre you a registered user?"
POL_SetupWindow_question "$(eval_gettext '$MSG')" "$TITLE"
POL_Debug_Message "# APP_ANSWER=$APP_ANSWER"
[ "$APP_ANSWER" = "TRUE" ] && USE_REGISTERED_VERSION=1 || USE_REGISTERED_VERSION=0
[ ! "$USE_REGISTERED_VERSION" = "1" ] && return 0 # install preview demo version
# -------------------
# use registered version
EXECUTABLE_FILE="tabledit.exe"
MSG="Username"
POL_SetupWindow_textbox "$(eval_gettext '$MSG')" "$TITLE" "$TE_USR"
[ -z "$APP_ANSWER" ] && return 0
TE_USR="$APP_ANSWER"
MSG="Password"
POL_SetupWindow_textbox "$(eval_gettext '$MSG')" "$TITLE" "$TE_PWD"
[ -z "$APP_ANSWER" ] && TE_USR="" && return 0
TE_PWD="$APP_ANSWER"
[ -z "$TE_USR" ] && POL_Debug_Fatal "# ERROR: User not defined"
[ -z "$TE_PWD" ] && POL_Debug_Fatal "# ERROR: Password not defined"
return 0 # use registered version
}
# ==============================================================
getVersionRemote()
# --------------------------------------------------------------
# check demo download page for latest version info
# and store this in variable
# VERSION_REMOTE
# ==============================================================
{
POL_Debug_Message "# getVersionRemote"
VERSION_REMOTE=""
# - - - - - - - - - - - - - - - - - - - - -
# download html page for demo version
DOWNLOAD_PATH=$DOWNLOAD_PREVIEW_PATH
DOWNLOAD_DIR=$(dirname "$DOWNLOAD_PATH")
DOWNLOAD_FILE=$(basename "$DOWNLOAD_PATH")
DOWNLOAD_TMP=$POL_System_TmpDir
POL_Debug_Message "# download secured html page ($DOWNLOAD_DIR/$DOWNLOAD_FILE)"
wget -O $DOWNLOAD_TMP/TE_DWLD $DOWNLOAD_DIR/ 2>/dev/null;
RET_VAL="$?"
[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning \"# download returns non zero value=$RET_VAL\"
[ ! -f "$DOWNLOAD_TMP/TE_DWLD" ] && POL_Debug_Fatal "# ERROR: download demo html page failed"
# - - - - - - - - - - - - - - - - - - - - -
POL_Debug_Message "# analyze HTML page"
VERSION_REMOTE=`fgrep "from Windows" $DOWNLOAD_TMP/TE_DWLD | cut -d "-" -f 2 | cut -d " " -f 2 | cut -d "v" -f 2`
POL_Debug_Message "# VERSION_REMOTE=$VERSION_REMOTE"
}
# ==============================================================
getInstallerLocalDownload()
# --------------------------------------------------------------
# 1. decide if local or download
# 1.1 browse for local installer
# 1.2 download
# 1.2.a registered version
# .store secured download page locally
# .analyze page for latest installer
# This may no longer work if download page logic changes
# 1.2.b demo version
# 2. check installer size is not too small
# ==============================================================
{
POL_Debug_Message "# USER CHOICE: select local or download"
[ "$USE_AUTOMATION" = "1" ] && \
INSTALL_METHOD="DOWNLOAD" || \
POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"
if [ "$INSTALL_METHOD" = "LOCAL" ]; then
MSG="Please select the setup file to run."
POL_SetupWindow_browse "$(eval_gettext '$MSG')" ""
INSTALLER="$APP_ANSWER"
elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then
POL_Debug_Message "# download installer"
if [ "$USE_REGISTERED_VERSION" = "1" ]; then
# - - - - - - - - - - - - - - - - - - - - -
# TablEdit registered user - user/password
[ -z "$TE_USR" ] && POL_Debug_Fatal "# ERROR: user name not set"
[ -z "$TE_PWD" ] && POL_Debug_Fatal "# ERROR: password not set"
# - - - - - - - - - - - - - - - - - - - - -
# download html page for registered version
DOWNLOAD_PATH=$DOWNLOAD_RGSTRED_PATH
DOWNLOAD_DIR=$(dirname "$DOWNLOAD_PATH")
DOWNLOAD_FILE="windows_e.shtml"
DOWNLOAD_TMP=$POL_System_TmpDir
POL_Debug_Message "# download secured html page ($DOWNLOAD_DIR/$DOWNLOAD_FILE)"
wget --user "$TE_USR" --password "$TE_PWD" -O $DOWNLOAD_TMP/TE_DWLD $DOWNLOAD_DIR/$DOWNLOAD_FILE 2>/dev/null;
RET_VAL="$?"
[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning \"# download returns non zero value=$RET_VAL\"
[ ! -f "$DOWNLOAD_TMP/TE_DWLD" ] && POL_Debug_Fatal "# ERROR: download secured html page failed"
# - - - - - - - - - - - - - - - - - - - - -
POL_Debug_Message "# analyze HTML page"
VERSION_REMOTE=`fgrep "B>TablEdit v" $DOWNLOAD_TMP/TE_DWLD | cut -d " " -f 2 | cut -d "v" -f 2`
POL_Debug_Message "# installer version=$VERSION_REMOTE"
DOWNLOAD_FILE=`fgrep "B>TablEdit v" $DOWNLOAD_TMP/TE_DWLD | cut -d '"' -f 2`
DOWNLOAD_PATH=$DOWNLOAD_DIR/$DOWNLOAD_FILE
# - - - - - - - - - - - - - - - - - - - - -
# download secured installer
POL_Debug_Message "# download the secured installer ($DOWNLOAD_PATH)"
POL_Debug_Message "# wget -O "$DOWNLOAD_TMP/$DOWNLOAD_FILE" --user=$TE_USR --password=$TE_PWD $DOWNLOAD_PATH"
wget -O "$DOWNLOAD_TMP/$DOWNLOAD_FILE" --user=$TE_USR --password=$TE_PWD $DOWNLOAD_PATH
RET_VAL="$?"
[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning "# download returns non zero value=$RET_VAL"
[ ! -f "$DOWNLOAD_TMP/$DOWNLOAD_FILE" ] && POL_Debug_Fatal "# ERROR: download secured installer failed"
INSTALLER="$DOWNLOAD_TMP/$DOWNLOAD_FILE"
POL_Debug_Message "# INFO: registered program downloaded to $INSTALLER"
else
# - - - - - - - - - - - - - - - - - - - - -
# download demo installer
DOWNLOAD_LINK=$DOWNLOAD_PREVIEW_PATH
DOWNLOAD_FILE=$(basename "$DOWNLOAD_LINK")
POL_Debug_Message "# download the demo installer ($DOWNLOAD_LINK)"
POL_Download "$DOWNLOAD_LINK"
INSTALLER="$POL_System_TmpDir/$DOWNLOAD_FILE"
POL_Debug_Message "# INFO: demo program downloaded to $INSTALLER"
fi
fi
if [[ -z "$INSTALLER" || ! -f "$INSTALLER" ]];then
MSG="ERROR: cannot locate installer >$INSTALLER< for $TITLE."
POL_Debug_Message "# $MSG"
POL_SetupWindow_message "$(eval_gettext '$MSG')" "$TITLE"
fi
# ---------------------
# check installer size
file_size_kb=`du -k "$INSTALLER" | cut -f1`
if [ "$file_size_kb" -lt 1000 ]; then
POL_Debug_Fatal "# ERROR: Installer \(${INSTALLER}\) size \(${file_size_kb kb}\) is too small for a set-up file."
fi
return 0
}
# ==============================================================
registryLanguage()
# --------------------------------------------------------------
# set TablEdit language according to locale
# ==============================================================
{
LANG_VAL=0 # 0 - English (default)
LANG_CUR=`echo $LANG | cut -c 1-2`
[ \"$LANG_CUR\" = \"de\" ] && LANG_VAL=512 # 512 - German
[ \"$LANG_CUR\" = \"fr\" ] && LANG_VAL=256 # 256 - French
[ \"$LANG_CUR\" = \"es\" ] && LANG_VAL=768 # 768 - Spanish
[ \"$LANG_CUR\" = \"jp\" ] && LANG_VAL=1024 # 1024- Janpanese
echo "\"Language\"=\"$LANG_VAL\"" >> $FILE_USRREG
}
# ==============================================================
registryProgram()
# --------------------------------------------------------------
# update registry with user registeration info
# ==============================================================
{
if [ "$USE_REGISTERED_VERSION" = "1" ]; then
POL_Debug_Message "# INFO: register Password, UserName"
echo -e "\"UserName\"=\""$TE_USR"\"\n\"Password\"=\""$TE_PWD"\"" >> $FILE_USRREG
FOUND=`fgrep '\"Password\"' $FILE_USRREG`
[ ! -z "$FOUND" ] && POL_Debug_Message "# INFO: registered"
fi
}
# ==============================================================
registryWindows()
# --------------------------------------------------------------
# We clean up scattered windows of regular install and
# update registry with user preferences (colors, windows)
# ==============================================================
{
POL_Debug_Message "# INFO: register windows"
echo "\"Colorsv3\"=\"0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0xff,0xdbecec,0xdff0f5,0x0,\"" >> $FILE_USRREG
echo "\"Palette1\"=\"326,76,104,118,0,27,465,28,53,233,20,1,132,0\"" >> $FILE_USRREG
echo "\"Palette2\"=\"597,76,104,118,511,27,465,28,53,233,20,1,132,0\"" >> $FILE_USRREG
echo "\"Palette3\"=\"432,76,104,49,984,27,189,28,53,95,8,1,132,0\"" >> $FILE_USRREG
echo "\"Palette4\"=\"491,76,104,72,0,219,281,28,53,141,12,1,148,0\"" >> $FILE_USRREG
echo "\"Palette5\"=\"492,173,104,95,885,102,373,28,53,187,16,1,148,0\"" >> $FILE_USRREG
echo "\"Palette6\"=\"706,76,104,141,0,27,101,141,101,141,1,1,148,0\"" >> $FILE_USRREG
echo "\"Palette7\"=\"162,383,551,58,0,637,551,60,553,58,1,1,24,0\"" >> $FILE_USRREG
echo -e "\"ScrOutput\"=\"001001110000=1W1:>899<>7F001P040S@//210000000000\"" >> $FILE_USRREG
}
# ==============================================================
getRegistryExists()
# --------------------------------------------------------------
# check if registry is valid for the installed program
# 0: not existing
# 1: existing
# ==============================================================
{
REGISTRY_EXISTS=0
# ---------------------
# check user.reg exists
FILE_USRREG="$WINEPREFIX/user.reg"
[ ! -f "$FILE_USRREG" ] && POL_Debug_Fatal "# ERROR: file not found $FILE_USRREG"
# ---------------------
# check system.reg exists
FILE_SYSREG="$WINEPREFIX/system.reg"
[ ! -f "$FILE_SYSREG" ] && POL_Debug_Fatal "# ERROR: file not found $FILE_SYSREG"
# ---------------------
# check user.reg key exists
FOUND="`fgrep '\\TablEdit' $FILE_USRREG`"
[ -z "$FOUND" ] && POL_Debug_Message "# WARNING: key \\TablEdit does not yet exist\n(Wine may still need time to flush the file)\n$FILE_USRREG." && return 0
# ---------------------
# return success
REGISTRY_EXISTS=1
return "$REGISTRY_EXISTS"
}
# ==============================================================
waitsec()
# --------------------------------------------------------------
# sleep function with some debug message
# ==============================================================
{
P1="$1"
[[ -z "$P1" || "$P1" = 0 ]] && return 0
POL_Debug_Message "# let's wait $P1 seconds"
sleep "$P1"
}
# ==============================================================
updateRegistry()
# --------------------------------------------------------------
# update registry with some program settings
# color, windows position, user registration info, language
# The installers registry values do need time to show.
# So, if we do not find them, let's wait a while.
# ==============================================================
{
# - - - - - - - - - - - - - -
# validate registry exists
REGISTRY_EXISTS=0
getRegistryExists
typeset -i iCount=0 iMax=4
while [[ "$REGISTRY_EXISTS" = 0 && $iCount -lt $iMax ]]; do
iCount=iCount+1
POL_Debug_Message "# WARNING: waiting for registry $iCount"
waitsec 4
getRegistryExists
done
[ "$REGISTRY_EXISTS" = 0 ] && POL_Debug_Message "# WARNING: getRegistryExists - returned 0"
FILE_USRREG="$WINEPREFIX/user.reg"
# - - - - - - - - - - - - - -
# add to registry: Password, UserName, Windows, Language
POL_Debug_Message "# INFO: add registy keys Software\\\\\\\\TablEdit"
echo "[Software\\\\\\\\TablEdit\\\\\\\\TablEdit]" >> $FILE_USRREG
registryProgram
registryWindows
registryLanguage
echo -e "\n" >> $FILE_USRREG
}
# ==============================================================
getVersion()
# --------------------------------------------------------------
# read installed version from system.reg
# if not found, retry some times, then get remote version
# ==============================================================
{
REGISTRY_EXISTS=0
# ----------------------------------
# validate registry
getRegistryExists
typeset -i iCount=0 iMax=4
while [[ "$REGISTRY_EXISTS" = 0 && $iCount -lt $iMax ]]; do
iCount=iCount+1
POL_Debug_Message "# WARNING: waiting for registry $iCount"
waitsec 4
getRegistryExists
done
[ "$REGISTRY_EXISTS" = 0 ] && POL_Debug_Message "# WARNING: getRegistryExists returned 0"
# ----------------------------------
# get Version Info from system.reg
cd "$WINEPREFIX" || POL_Debug_Fatal "# ERROR: Unable to change directory"
RESULT1=`fgrep -A 1 '"DisplayName"="TablEdit' system.reg | grep -A 0 '"DisplayVersion"' `
[ ! -z "$RESULT1" ] && VERSION_INSTALLED=`echo $RESULT1 | cut -d '"' -f 4 `
if [ -z "$VERSION_INSTALLED" ]; then
# ----------------------------------
# get remote Version
POL_Debug_Warning "# WARNING: 'DisplayVersion TablEdit' not found in system.reg"
getVersionRemote
POL_Debug_Warning "# WARNING: using remote demo version ($VERSION_REMOTE) as a fallback"
VERSION_INSTALLED="$VERSION_REMOTE"
fi
# POL_Debug_Message "# VERSION_INSTALLED=$VERSION_INSTALLED"
# VER_LEN="${#VERSION_INSTALLED}"
# POL_Debug_Message "# LEN=$VER_LEN"
}
# ==============================================================
createShortcut()
# --------------------------------------------------------------
# 1. get installed version
# 2. remove previous desktop starter
# 3. remove previous POL shortcut
# 4. add POL shortcut with version info
# 5. add timidity to POL shortcut
# ==============================================================
{
# -------------------
POL_Debug_Message "# get program version"
getVersion
POL_Debug_Message "# VERSION_INSTALLED: $VERSION_INSTALLED"
LAUNCHER="$TITLE"
[ ! -z "$VERSION_INSTALLED" ] && LAUNCHER="$LAUNCHER-v$VERSION_INSTALLED"
POL_Debug_Message "# LAUNCHER: $LAUNCHER"
# -------------------
PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$LAUNCHER"
if [ ! -f "$PATH_SHORTCUT" ];then
# -------------------
POL_Debug_Message "# remove any previous desktop starter"
LINUX_DESKTOP=`xdg-user-dir DESKTOP`
PATH_SHORTCUT="$LINUX_DESKTOP/$TITLE"
rm -r "$PATH_SHORTCUT"* 2>/dev/null;
rm -r $HOME/.local/share/applications/*$TITLE* 2>/dev/null;
# -------------------
POL_Debug_Message "# remove previous POL shortcut"
PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$TITLE"
rm -r "$PATH_SHORTCUT"* 2>/dev/null;
# -------------------
POL_Debug_Message "# create POL shortcut"
POL_Shortcut "$EXECUTABLE_FILE" "$LAUNCHER" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
# -------------------
PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$LAUNCHER"
fi
[ -f "$PATH_SHORTCUT" ] && MSG="$LAUNCHER installation ok" && POL_Debug_Message "# $MSG"
# ===================
# Add timidity to POL shortcut
POL_Debug_Message "# Adding TiMidity to POL shortcut $PATH_SHORTCUT"
TIMIDITY_APP=`which timidity`
[ -z "$TIMIDITY_APP" ] && POL_Debug_Warning "# no timidity found" && return -1
if [ -z "`fgrep timidity $PATH_SHORTCUT`" ];then
STARTTIMIDITY="[ -z \"\`pstree | grep timidity\`\" ] \&\& timidity -iA -B2,8 -Os1l -s 44100 \&"
echo "s+POL_Wine*+$STARTTIMIDITY\nPOL_Wine+g" > $POL_System_TmpDir/SED_CMD
sed -i -f $POL_System_TmpDir/SED_CMD $PATH_SHORTCUT
fi
return 0
}
######################
# MAIN
IMAGE_TOP="https://tabledit.com/css/img/header1.jpg"
IMAGE_LEFT="https://tabledit.com/ios/TEFpad.ios.logo.175x175-75.jpg"
POL_GetSetupImages --force "$IMAGE_TOP" "$IMAGE_LEFT" "$TITLE"
POL_SetupWindow_Init
POL_Debug_Init
POL_Debug_Message "# show POL Window"
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX"
Set_OS "win7"
# ---------------------
POL_Debug_Message "# create PREFIX environment"
POL_Wine_SelectPrefix "$PREFIX"
POL_System_SetArch "x86"
POL_Wine_PrefixCreate
Set_OS "win7"
POL_System_TmpCreate "$PREFIX"
PWD_OLD=`pwd`
cd "$POL_System_TmpDir" || POL_Debug_Fatal "# ERROR: Unable to change directory"
POL_Debug_Message "# WINEPREFIX: $WINEPREFIX"
POL_Debug_Message "# PREFIX: $PREFIX"
POL_Debug_Message "# POL_System_TmpDir: $POL_System_TmpDir"
# ===================
POL_Debug_Message "# USER CHOICE: registered or preview"
getRegisteredOrPreview
# ---------------------
POL_Debug_Message "# get Installer local or download"
getInstallerLocalDownload
# ===================
POL_Debug_Message "# check TiMidity is available"
TIMIDITY_APP=`which timidity`
if [ -z "$TIMIDITY_APP" ];then
MSG="For $TITLE to run, we recommend you install TiMidity on your system first.\nPlease open a terminal and execute this command line:\n
sudo apt-get -y install timidity\n\nThen continue or restart this POL installation.\n"
POL_SetupWindow_message "$(eval_gettext '$MSG')"
fi
# ===================
POL_Debug_Message "# start wine installation ("$INSTALLER")"
MSG="Installation in progress."
POL_SetupWindow_wait "$(eval_gettext '$MSG')" ""
POL_Wine "$INSTALLER"
POL_Debug_Message "# confirm the executable - tabledit.exe or tableditdemo.exe exists"
FOUND=`find $WINEPREFIX -name "$EXECUTABLE_FILE" -print`
[ -z "$FOUND" ] && POL_Debug_Fatal "# ERROR: $EXECUTABLE_FILE not found in $WINEPREFIX"
# ===================
POL_Debug_Message "# finalize installation"
updateRegistry
createShortcut
POL_System_TmpDelete
POL_SetupWindow_Close
exit
|
Contributions
Filters:
Contribute| Member | Meddelanden |
| bob234 | Monday 1 August 2022 at 21:59 |
bob234
|
MeddelandenHello, I tried to install this on my system (Manjaro linux, kernel: 5.10.133-1-MANJARO) and it crashes on launch with the following error: [08/01/22 21:35:54] - Running wine- tableditdemo.exe (Working directory : /home/bob/.PlayOnLinux/wineprefix/tabledit/drive_c/Program Files/TablEdit)
Any idea what could be the cause? SvarTuesday 27 September 2022 at 9:41
Sunday 9 October 2022 at 19:47
|
| VolkerFroehlich | Thursday 4 March 2021 at 20:27 |
VolkerFroehlich
|
InformationThis update has been approved by the team. MeddelandenDear Musicians, This new POL TablEdit installer adds quite some convenience: Have fun! Volker Fröhlich!
Differences@@ -1,107 +1,413 @@
#!/usr/bin/env playonlinux-bash
-# Date : (2020-08-17 23:57)
-# Last revision : (2020-08-19 17:20)
-# Wine version used : 5.0.2
-# Distribution used to test : Ubuntu 19.10, 20.04.1 LTS
-# Author : VolkerFröhlich
-# PlayOnLinux : 4.3.4
-# Script licence : GPL3
-# Program licence : Free/Retail
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
-
-TITLE="TablEdit3"
-
-PREFIX="tabledit3"
-AUTHOR="VolkerFröhlich"
+######################
+# created Do 4. Mär 19:07:41 CET 2021
+######################
+# global parameters
+TITLE="TablEdit"
+PREFIX="tabledit"
+AUTHOR="VolkerFroehlich"
EDITOR="Matthieu Leschemelle"
EDITOR_URL="https://tabledit.com/"
-
-EXECUTABLE_FILE="tableditdemo.exe"
MD5=""
-
-# Starting the script
+DOWNLOAD_RGSTRED_PATH="https://tabledit.com/secured/tev301.exe"
+DOWNLOAD_PREVIEW_PATH="https://tabledit.com/download/tabled32.exe"
+EXECUTABLE_FILE="tableditdemo.exe"
+# automation parameters
+USE_AUTOMATION="0" # 1: do not ask user
+USE_REGISTERED_VERSION=0 # 1: use registered version
+[ "$USE_REGISTERED_VERSION" = "1" ] && EXECUTABLE_FILE="tabledit.exe"
+######################
+# FUNCTIONS
+# ==============================================================
+getRegisteredOrPreview()
+# --------------------------------------------------------------
+# Ask user for TablEdit registration info.
+# We require this for access to the secured download page
+# and later to add registration data to the windows registry.
+# Store input to variables
+# TE_USR: username
+# TE_PWD: password
+# ==============================================================
+{
+TE_USR="" # with USE_AUTOMATION=1 you can predefine your
+TE_PWD="" # tabledit registered user/password here
+[ "$USE_AUTOMATION" = "1" ] && return 0
+# -------------------
+# ask user if registered
+MSG="If you do have a user name and password we install the full version, else the preview demo.\n\nAre you a registered user?"
+POL_SetupWindow_question "$(eval_gettext '$MSG')" "$TITLE"
+POL_Debug_Message "# APP_ANSWER=$APP_ANSWER"
+[ "$APP_ANSWER" = "TRUE" ] && USE_REGISTERED_VERSION=1 || USE_REGISTERED_VERSION=0
+[ ! "$USE_REGISTERED_VERSION" = "1" ] && return 0 # install preview demo version
+# -------------------
+# use registered version
+EXECUTABLE_FILE="tabledit.exe"
+MSG="Username"
+POL_SetupWindow_textbox "$(eval_gettext '$MSG')" "$TITLE" "$TE_USR"
+[ -z "$APP_ANSWER" ] && return 0
+TE_USR="$APP_ANSWER"
+MSG="Password"
+POL_SetupWindow_textbox "$(eval_gettext '$MSG')" "$TITLE" "$TE_PWD"
+[ -z "$APP_ANSWER" ] && TE_USR="" && return 0
+TE_PWD="$APP_ANSWER"
+[ -z "$TE_USR" ] && POL_Debug_Fatal "# ERROR: User not defined"
+[ -z "$TE_PWD" ] && POL_Debug_Fatal "# ERROR: Password not defined"
+return 0 # use registered version
+}
+# ==============================================================
+getVersionRemote()
+# --------------------------------------------------------------
+# check demo download page for latest version info
+# and store this in variable
+# VERSION_REMOTE
+# ==============================================================
+{
+POL_Debug_Message "# getVersionRemote"
+VERSION_REMOTE=""
+# - - - - - - - - - - - - - - - - - - - - -
+# download html page for demo version
+DOWNLOAD_PATH=$DOWNLOAD_PREVIEW_PATH
+DOWNLOAD_DIR=$(dirname "$DOWNLOAD_PATH")
+DOWNLOAD_FILE=$(basename "$DOWNLOAD_PATH")
+DOWNLOAD_TMP=$POL_System_TmpDir
+POL_Debug_Message "# download secured html page ($DOWNLOAD_DIR/$DOWNLOAD_FILE)"
+wget -O $DOWNLOAD_TMP/TE_DWLD $DOWNLOAD_DIR/ 2>/dev/null;
+RET_VAL="$?"
+[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning \"# download returns non zero value=$RET_VAL\"
+[ ! -f "$DOWNLOAD_TMP/TE_DWLD" ] && POL_Debug_Fatal "# ERROR: download demo html page failed"
+# - - - - - - - - - - - - - - - - - - - - -
+POL_Debug_Message "# analyze HTML page"
+VERSION_REMOTE=`fgrep "from Windows" $DOWNLOAD_TMP/TE_DWLD | cut -d "-" -f 2 | cut -d " " -f 2 | cut -d "v" -f 2`
+POL_Debug_Message "# VERSION_REMOTE=$VERSION_REMOTE"
+}
+# ==============================================================
+getInstallerLocalDownload()
+# --------------------------------------------------------------
+# 1. decide if local or download
+# 1.1 browse for local installer
+# 1.2 download
+# 1.2.a registered version
+# .store secured download page locally
+# .analyze page for latest installer
+# This may no longer work if download page logic changes
+# 1.2.b demo version
+# 2. check installer size is not too small
+# ==============================================================
+{
+POL_Debug_Message "# USER CHOICE: select local or download"
+[ "$USE_AUTOMATION" = "1" ] && \
+ INSTALL_METHOD="DOWNLOAD" || \
+ POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"
+if [ "$INSTALL_METHOD" = "LOCAL" ]; then
+ MSG="Please select the setup file to run."
+ POL_SetupWindow_browse "$(eval_gettext '$MSG')" ""
+ INSTALLER="$APP_ANSWER"
+elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then
+ POL_Debug_Message "# download installer"
+ if [ "$USE_REGISTERED_VERSION" = "1" ]; then
+ # - - - - - - - - - - - - - - - - - - - - -
+ # TablEdit registered user - user/password
+ [ -z "$TE_USR" ] && POL_Debug_Fatal "# ERROR: user name not set"
+ [ -z "$TE_PWD" ] && POL_Debug_Fatal "# ERROR: password not set"
+ # - - - - - - - - - - - - - - - - - - - - -
+ # download html page for registered version
+ DOWNLOAD_PATH=$DOWNLOAD_RGSTRED_PATH
+ DOWNLOAD_DIR=$(dirname "$DOWNLOAD_PATH")
+ DOWNLOAD_FILE="windows_e.shtml"
+ DOWNLOAD_TMP=$POL_System_TmpDir
+ POL_Debug_Message "# download secured html page ($DOWNLOAD_DIR/$DOWNLOAD_FILE)"
+ wget --user "$TE_USR" --password "$TE_PWD" -O $DOWNLOAD_TMP/TE_DWLD $DOWNLOAD_DIR/$DOWNLOAD_FILE 2>/dev/null;
+ RET_VAL="$?"
+ [ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning \"# download returns non zero value=$RET_VAL\"
+ [ ! -f "$DOWNLOAD_TMP/TE_DWLD" ] && POL_Debug_Fatal "# ERROR: download secured html page failed"
+ # - - - - - - - - - - - - - - - - - - - - -
+ POL_Debug_Message "# analyze HTML page"
+ VERSION_REMOTE=`fgrep "B>TablEdit v" $DOWNLOAD_TMP/TE_DWLD | cut -d " " -f 2 | cut -d "v" -f 2`
+ POL_Debug_Message "# installer version=$VERSION_REMOTE"
+ DOWNLOAD_FILE=`fgrep "B>TablEdit v" $DOWNLOAD_TMP/TE_DWLD | cut -d '"' -f 2`
+ DOWNLOAD_PATH=$DOWNLOAD_DIR/$DOWNLOAD_FILE
+ # - - - - - - - - - - - - - - - - - - - - -
+ # download secured installer
+ POL_Debug_Message "# download the secured installer ($DOWNLOAD_PATH)"
+ POL_Debug_Message "# wget -O "$DOWNLOAD_TMP/$DOWNLOAD_FILE" --user=$TE_USR --password=$TE_PWD $DOWNLOAD_PATH"
+ wget -O "$DOWNLOAD_TMP/$DOWNLOAD_FILE" --user=$TE_USR --password=$TE_PWD $DOWNLOAD_PATH
+ RET_VAL="$?"
+ [ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning "# download returns non zero value=$RET_VAL"
+ [ ! -f "$DOWNLOAD_TMP/$DOWNLOAD_FILE" ] && POL_Debug_Fatal "# ERROR: download secured installer failed"
+ INSTALLER="$DOWNLOAD_TMP/$DOWNLOAD_FILE"
+ POL_Debug_Message "# INFO: registered program downloaded to $INSTALLER"
+ else
+ # - - - - - - - - - - - - - - - - - - - - -
+ # download demo installer
+ DOWNLOAD_LINK=$DOWNLOAD_PREVIEW_PATH
+ DOWNLOAD_FILE=$(basename "$DOWNLOAD_LINK")
+ POL_Debug_Message "# download the demo installer ($DOWNLOAD_LINK)"
+ POL_Download "$DOWNLOAD_LINK"
+ INSTALLER="$POL_System_TmpDir/$DOWNLOAD_FILE"
+ POL_Debug_Message "# INFO: demo program downloaded to $INSTALLER"
+ fi
+fi
+if [[ -z "$INSTALLER" || ! -f "$INSTALLER" ]];then
+ MSG="ERROR: cannot locate installer >$INSTALLER< for $TITLE."
+ POL_Debug_Message "# $MSG"
+ POL_SetupWindow_message "$(eval_gettext '$MSG')" "$TITLE"
+fi
+# ---------------------
+# check installer size
+file_size_kb=`du -k "$INSTALLER" | cut -f1`
+if [ "$file_size_kb" -lt 1000 ]; then
+ POL_Debug_Fatal "# ERROR: Installer \(${INSTALLER}\) size \(${file_size_kb kb}\) is too small for a set-up file."
+fi
+return 0
+}
+# ==============================================================
+registryLanguage()
+# --------------------------------------------------------------
+# set TablEdit language according to locale
+# ==============================================================
+{
+LANG_VAL=0 # 0 - English (default)
+LANG_CUR=`echo $LANG | cut -c 1-2`
+[ \"$LANG_CUR\" = \"de\" ] && LANG_VAL=512 # 512 - German
+[ \"$LANG_CUR\" = \"fr\" ] && LANG_VAL=256 # 256 - French
+[ \"$LANG_CUR\" = \"es\" ] && LANG_VAL=768 # 768 - Spanish
+[ \"$LANG_CUR\" = \"jp\" ] && LANG_VAL=1024 # 1024- Janpanese
+echo "\"Language\"=\"$LANG_VAL\"" >> $FILE_USRREG
+}
+# ==============================================================
+registryProgram()
+# --------------------------------------------------------------
+# update registry with user registeration info
+# ==============================================================
+{
+if [ "$USE_REGISTERED_VERSION" = "1" ]; then
+ POL_Debug_Message "# INFO: register Password, UserName"
+ echo -e "\"UserName\"=\""$TE_USR"\"\n\"Password\"=\""$TE_PWD"\"" >> $FILE_USRREG
+ FOUND=`fgrep '\"Password\"' $FILE_USRREG`
+ [ ! -z "$FOUND" ] && POL_Debug_Message "# INFO: registered"
+fi
+}
+# ==============================================================
+registryWindows()
+# --------------------------------------------------------------
+# We clean up scattered windows of regular install and
+# update registry with user preferences (colors, windows)
+# ==============================================================
+{
+POL_Debug_Message "# INFO: register windows"
+echo "\"Colorsv3\"=\"0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0xff,0xdbecec,0xdff0f5,0x0,\"" >> $FILE_USRREG
+echo "\"Palette1\"=\"326,76,104,118,0,27,465,28,53,233,20,1,132,0\"" >> $FILE_USRREG
+echo "\"Palette2\"=\"597,76,104,118,511,27,465,28,53,233,20,1,132,0\"" >> $FILE_USRREG
+echo "\"Palette3\"=\"432,76,104,49,984,27,189,28,53,95,8,1,132,0\"" >> $FILE_USRREG
+echo "\"Palette4\"=\"491,76,104,72,0,219,281,28,53,141,12,1,148,0\"" >> $FILE_USRREG
+echo "\"Palette5\"=\"492,173,104,95,885,102,373,28,53,187,16,1,148,0\"" >> $FILE_USRREG
+echo "\"Palette6\"=\"706,76,104,141,0,27,101,141,101,141,1,1,148,0\"" >> $FILE_USRREG
+echo "\"Palette7\"=\"162,383,551,58,0,637,551,60,553,58,1,1,24,0\"" >> $FILE_USRREG
+echo -e "\"ScrOutput\"=\"001001110000=1W1:>899<>7F001P040S@//210000000000\"" >> $FILE_USRREG
+}
+# ==============================================================
+getRegistryExists()
+# --------------------------------------------------------------
+# check if registry is valid for the installed program
+# 0: not existing
+# 1: existing
+# ==============================================================
+{
+REGISTRY_EXISTS=0
+# ---------------------
+# check user.reg exists
+FILE_USRREG="$WINEPREFIX/user.reg"
+[ ! -f "$FILE_USRREG" ] && POL_Debug_Fatal "# ERROR: file not found $FILE_USRREG"
+# ---------------------
+# check system.reg exists
+FILE_SYSREG="$WINEPREFIX/system.reg"
+[ ! -f "$FILE_SYSREG" ] && POL_Debug_Fatal "# ERROR: file not found $FILE_SYSREG"
+# ---------------------
+# check user.reg key exists
+FOUND="`fgrep '\\TablEdit' $FILE_USRREG`"
+[ -z "$FOUND" ] && POL_Debug_Message "# WARNING: key \\TablEdit does not yet exist\n(Wine may still need time to flush the file)\n$FILE_USRREG." && return 0
+# ---------------------
+# return success
+REGISTRY_EXISTS=1
+return "$REGISTRY_EXISTS"
+}
+# ==============================================================
+waitsec()
+# --------------------------------------------------------------
+# sleep function with some debug message
+# ==============================================================
+{
+P1="$1"
+[[ -z "$P1" || "$P1" = 0 ]] && return 0
+POL_Debug_Message "# let's wait $P1 seconds"
+sleep "$P1"
+}
+# ==============================================================
+updateRegistry()
+# --------------------------------------------------------------
+# update registry with some program settings
+# color, windows position, user registration info, language
+# The installers registry values do need time to show.
+# So, if we do not find them, let's wait a while.
+# ==============================================================
+{
+# - - - - - - - - - - - - - -
+# validate registry exists
+REGISTRY_EXISTS=0
+getRegistryExists
+typeset -i iCount=0 iMax=4
+while [[ "$REGISTRY_EXISTS" = 0 && $iCount -lt $iMax ]]; do
+ iCount=iCount+1
+ POL_Debug_Message "# WARNING: waiting for registry $iCount"
+ waitsec 4
+ getRegistryExists
+done
+[ "$REGISTRY_EXISTS" = 0 ] && POL_Debug_Message "# WARNING: getRegistryExists - returned 0"
+FILE_USRREG="$WINEPREFIX/user.reg"
+# - - - - - - - - - - - - - -
+# add to registry: Password, UserName, Windows, Language
+POL_Debug_Message "# INFO: add registy keys Software\\\\\\\\TablEdit"
+echo "[Software\\\\\\\\TablEdit\\\\\\\\TablEdit]" >> $FILE_USRREG
+registryProgram
+registryWindows
+registryLanguage
+echo -e "\n" >> $FILE_USRREG
+}
+# ==============================================================
+getVersion()
+# --------------------------------------------------------------
+# read installed version from system.reg
+# if not found, retry some times, then get remote version
+# ==============================================================
+{
+REGISTRY_EXISTS=0
+# ----------------------------------
+# validate registry
+getRegistryExists
+typeset -i iCount=0 iMax=4
+while [[ "$REGISTRY_EXISTS" = 0 && $iCount -lt $iMax ]]; do
+ iCount=iCount+1
+ POL_Debug_Message "# WARNING: waiting for registry $iCount"
+ waitsec 4
+ getRegistryExists
+done
+[ "$REGISTRY_EXISTS" = 0 ] && POL_Debug_Message "# WARNING: getRegistryExists returned 0"
+# ----------------------------------
+# get Version Info from system.reg
+cd "$WINEPREFIX" || POL_Debug_Fatal "# ERROR: Unable to change directory"
+RESULT1=`fgrep -A 1 '"DisplayName"="TablEdit' system.reg | grep -A 0 '"DisplayVersion"' `
+[ ! -z "$RESULT1" ] && VERSION_INSTALLED=`echo $RESULT1 | cut -d '"' -f 4 `
+if [ -z "$VERSION_INSTALLED" ]; then
+# ----------------------------------
+# get remote Version
+ POL_Debug_Warning "# WARNING: 'DisplayVersion TablEdit' not found in system.reg"
+ getVersionRemote
+ POL_Debug_Warning "# WARNING: using remote demo version ($VERSION_REMOTE) as a fallback"
+ VERSION_INSTALLED="$VERSION_REMOTE"
+fi
+# POL_Debug_Message "# VERSION_INSTALLED=$VERSION_INSTALLED"
+# VER_LEN="${#VERSION_INSTALLED}"
+# POL_Debug_Message "# LEN=$VER_LEN"
+}
+# ==============================================================
+createShortcut()
+# --------------------------------------------------------------
+# 1. get installed version
+# 2. remove previous desktop starter
+# 3. remove previous POL shortcut
+# 4. add POL shortcut with version info
+# 5. add timidity to POL shortcut
+# ==============================================================
+{
+# -------------------
+POL_Debug_Message "# get program version"
+getVersion
+POL_Debug_Message "# VERSION_INSTALLED: $VERSION_INSTALLED"
+LAUNCHER="$TITLE"
+[ ! -z "$VERSION_INSTALLED" ] && LAUNCHER="$LAUNCHER-v$VERSION_INSTALLED"
+POL_Debug_Message "# LAUNCHER: $LAUNCHER"
+# -------------------
+PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$LAUNCHER"
+if [ ! -f "$PATH_SHORTCUT" ];then
+ # -------------------
+ POL_Debug_Message "# remove any previous desktop starter"
+ LINUX_DESKTOP=`xdg-user-dir DESKTOP`
+ PATH_SHORTCUT="$LINUX_DESKTOP/$TITLE"
+ rm -r "$PATH_SHORTCUT"* 2>/dev/null;
+ rm -r $HOME/.local/share/applications/*$TITLE* 2>/dev/null;
+ # -------------------
+ POL_Debug_Message "# remove previous POL shortcut"
+ PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$TITLE"
+ rm -r "$PATH_SHORTCUT"* 2>/dev/null;
+ # -------------------
+ POL_Debug_Message "# create POL shortcut"
+ POL_Shortcut "$EXECUTABLE_FILE" "$LAUNCHER" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
+ # -------------------
+ PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$LAUNCHER"
+fi
+[ -f "$PATH_SHORTCUT" ] && MSG="$LAUNCHER installation ok" && POL_Debug_Message "# $MSG"
+# ===================
+# Add timidity to POL shortcut
+POL_Debug_Message "# Adding TiMidity to POL shortcut $PATH_SHORTCUT"
+TIMIDITY_APP=`which timidity`
+[ -z "$TIMIDITY_APP" ] && POL_Debug_Warning "# no timidity found" && return -1
+if [ -z "`fgrep timidity $PATH_SHORTCUT`" ];then
+ STARTTIMIDITY="[ -z \"\`pstree | grep timidity\`\" ] \&\& timidity -iA -B2,8 -Os1l -s 44100 \&"
+ echo "s+POL_Wine*+$STARTTIMIDITY\nPOL_Wine+g" > $POL_System_TmpDir/SED_CMD
+ sed -i -f $POL_System_TmpDir/SED_CMD $PATH_SHORTCUT
+fi
+return 0
+}
+######################
+# MAIN
+IMAGE_TOP="https://tabledit.com/css/img/header1.jpg"
+IMAGE_LEFT="https://tabledit.com/ios/TEFpad.ios.logo.175x175-75.jpg"
+POL_GetSetupImages --force "$IMAGE_TOP" "$IMAGE_LEFT" "$TITLE"
POL_SetupWindow_Init
-
-# Starting debugging API
POL_Debug_Init
-
-#POL_SetupWindow_SetID
-# Open dialogue box
+POL_Debug_Message "# show POL Window"
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX"
Set_OS "win7"
-POL_System_TmpCreate "$PREFIX"
-
-POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"
-
-cd "$POL_System_TmpDir";
-##############################
-POL_Debug_Message "# select installer"
-if [ "$INSTALL_METHOD" = "LOCAL" ]; then
- POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
- INSTALLER="$APP_ANSWER"
- POL_Debug_Message "# confirm the executable name"
- if [ ! "`basename $INSTALLER`" = "tabled32.exe" ]; then
- EXECUTABLE_FILE="tabledit.exe"
- fi
-
-elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then
- DOWNLOAD_LINK=https://tabledit.com/download/tabled32.exe
- DOWNLOAD_FILE=$(basename "https://tabledit.com/download/tabled32.exe")
- POL_Download "$DOWNLOAD_LINK"
- INSTALLER="$POL_System_TmpDir/tabled32.exe"
-fi
-
-##############################
-POL_Debug_Message "# Set prefix"
+# ---------------------
+POL_Debug_Message "# create PREFIX environment"
POL_Wine_SelectPrefix "$PREFIX"
-POL_Debug_Message "# setting WINEARCH to win32"
POL_System_SetArch "x86"
POL_Wine_PrefixCreate
-
-##############################
+Set_OS "win7"
+POL_System_TmpCreate "$PREFIX"
+PWD_OLD=`pwd`
+cd "$POL_System_TmpDir" || POL_Debug_Fatal "# ERROR: Unable to change directory"
+POL_Debug_Message "# WINEPREFIX: $WINEPREFIX"
+POL_Debug_Message "# PREFIX: $PREFIX"
+POL_Debug_Message "# POL_System_TmpDir: $POL_System_TmpDir"
+# ===================
+POL_Debug_Message "# USER CHOICE: registered or preview"
+getRegisteredOrPreview
+# ---------------------
+POL_Debug_Message "# get Installer local or download"
+getInstallerLocalDownload
+# ===================
POL_Debug_Message "# check TiMidity is available"
TIMIDITY_APP=`which timidity`
if [ -z "$TIMIDITY_APP" ];then
- MSG="For $TITLE to run, we recommend you install TiMidity on your system first.\nPlease open a terminal and execute this command line:\n
- sudo apt-get -y install timidity\n\nThen continue or restart this POL installation.\n"
- POL_SetupWindow_message "$(eval_gettext '$MSG')"
-fi
-
-##############################
-POL_Debug_Message "# start wine installation"
+ MSG="For $TITLE to run, we recommend you install TiMidity on your system first.\nPlease open a terminal and execute this command line:\n
+ sudo apt-get -y install timidity\n\nThen continue or restart this POL installation.\n"
+ POL_SetupWindow_message "$(eval_gettext '$MSG')"
+fi
+# ===================
+POL_Debug_Message "# start wine installation ("$INSTALLER")"
MSG="Installation in progress."
-POL_SetupWindow_wait "$(eval_gettext '$MSG')" "$TITLE"
-
+POL_SetupWindow_wait "$(eval_gettext '$MSG')" ""
POL_Wine "$INSTALLER"
-
-POL_Debug_Message "# confirm the executable exists"
-if [ -z `find $WINEPREFIX -name "$EXECUTABLE_FILE" -print` ]; then
- POL_Debug_Fatal "$EXECUTABLE_FILE not found in $WINEPREFIX"
-fi
-
-POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
-
-##############################
-# Add timidity to POL shortcut
-TIMIDITY_APP=`which timidity`
-if [ ! -z "$TIMIDITY_APP" ];then
- POL_TITLE_PATH="$POL_USER_ROOT/shortcuts/$TITLE"
- POL_Debug_Message "# Adding TiMidity to POL shortcut $POL_TITLE_PATH"
- if [ ! -f "$POL_TITLE_PATH" ];then
- POL_Debug_Warning "file not found: $POL_TITLE_PATH"
- else
- if [ -z "`fgrep timidity $POL_TITLE_PATH`" ];then
- STARTTIMIDITY="[ -z \"\`pstree | grep timidity\`\" ] \&\& timidity -iA -B2,8 -Os1l -s 44100 \&"
- echo "s+POL_Wine*+$STARTTIMIDITY\nPOL_Wine+g" > $POL_System_TmpDir/SED_CMD
- sed -i -f $POL_System_TmpDir/SED_CMD $POL_TITLE_PATH
- fi
- fi
-fi
-
-##############################
-POL_Debug_Message "# delete temp directory"
+POL_Debug_Message "# confirm the executable - tabledit.exe or tableditdemo.exe exists"
+FOUND=`find $WINEPREFIX -name "$EXECUTABLE_FILE" -print`
+[ -z "$FOUND" ] && POL_Debug_Fatal "# ERROR: $EXECUTABLE_FILE not found in $WINEPREFIX"
+# ===================
+POL_Debug_Message "# finalize installation"
+updateRegistry
+createShortcut
POL_System_TmpDelete
-
POL_SetupWindow_Close
exit
New source code#!/usr/bin/env playonlinux-bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
######################
# created Do 4. Mär 19:07:41 CET 2021
######################
# global parameters
TITLE="TablEdit"
PREFIX="tabledit"
AUTHOR="VolkerFroehlich"
EDITOR="Matthieu Leschemelle"
EDITOR_URL="https://tabledit.com/"
MD5=""
DOWNLOAD_RGSTRED_PATH="https://tabledit.com/secured/tev301.exe"
DOWNLOAD_PREVIEW_PATH="https://tabledit.com/download/tabled32.exe"
EXECUTABLE_FILE="tableditdemo.exe"
# automation parameters
USE_AUTOMATION="0" # 1: do not ask user
USE_REGISTERED_VERSION=0 # 1: use registered version
[ "$USE_REGISTERED_VERSION" = "1" ] && EXECUTABLE_FILE="tabledit.exe"
######################
# FUNCTIONS
# ==============================================================
getRegisteredOrPreview()
# --------------------------------------------------------------
# Ask user for TablEdit registration info.
# We require this for access to the secured download page
# and later to add registration data to the windows registry.
# Store input to variables
# TE_USR: username
# TE_PWD: password
# ==============================================================
{
TE_USR="" # with USE_AUTOMATION=1 you can predefine your
TE_PWD="" # tabledit registered user/password here
[ "$USE_AUTOMATION" = "1" ] && return 0
# -------------------
# ask user if registered
MSG="If you do have a user name and password we install the full version, else the preview demo.\n\nAre you a registered user?"
POL_SetupWindow_question "$(eval_gettext '$MSG')" "$TITLE"
POL_Debug_Message "# APP_ANSWER=$APP_ANSWER"
[ "$APP_ANSWER" = "TRUE" ] && USE_REGISTERED_VERSION=1 || USE_REGISTERED_VERSION=0
[ ! "$USE_REGISTERED_VERSION" = "1" ] && return 0 # install preview demo version
# -------------------
# use registered version
EXECUTABLE_FILE="tabledit.exe"
MSG="Username"
POL_SetupWindow_textbox "$(eval_gettext '$MSG')" "$TITLE" "$TE_USR"
[ -z "$APP_ANSWER" ] && return 0
TE_USR="$APP_ANSWER"
MSG="Password"
POL_SetupWindow_textbox "$(eval_gettext '$MSG')" "$TITLE" "$TE_PWD"
[ -z "$APP_ANSWER" ] && TE_USR="" && return 0
TE_PWD="$APP_ANSWER"
[ -z "$TE_USR" ] && POL_Debug_Fatal "# ERROR: User not defined"
[ -z "$TE_PWD" ] && POL_Debug_Fatal "# ERROR: Password not defined"
return 0 # use registered version
}
# ==============================================================
getVersionRemote()
# --------------------------------------------------------------
# check demo download page for latest version info
# and store this in variable
# VERSION_REMOTE
# ==============================================================
{
POL_Debug_Message "# getVersionRemote"
VERSION_REMOTE=""
# - - - - - - - - - - - - - - - - - - - - -
# download html page for demo version
DOWNLOAD_PATH=$DOWNLOAD_PREVIEW_PATH
DOWNLOAD_DIR=$(dirname "$DOWNLOAD_PATH")
DOWNLOAD_FILE=$(basename "$DOWNLOAD_PATH")
DOWNLOAD_TMP=$POL_System_TmpDir
POL_Debug_Message "# download secured html page ($DOWNLOAD_DIR/$DOWNLOAD_FILE)"
wget -O $DOWNLOAD_TMP/TE_DWLD $DOWNLOAD_DIR/ 2>/dev/null;
RET_VAL="$?"
[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning \"# download returns non zero value=$RET_VAL\"
[ ! -f "$DOWNLOAD_TMP/TE_DWLD" ] && POL_Debug_Fatal "# ERROR: download demo html page failed"
# - - - - - - - - - - - - - - - - - - - - -
POL_Debug_Message "# analyze HTML page"
VERSION_REMOTE=`fgrep "from Windows" $DOWNLOAD_TMP/TE_DWLD | cut -d "-" -f 2 | cut -d " " -f 2 | cut -d "v" -f 2`
POL_Debug_Message "# VERSION_REMOTE=$VERSION_REMOTE"
}
# ==============================================================
getInstallerLocalDownload()
# --------------------------------------------------------------
# 1. decide if local or download
# 1.1 browse for local installer
# 1.2 download
# 1.2.a registered version
# .store secured download page locally
# .analyze page for latest installer
# This may no longer work if download page logic changes
# 1.2.b demo version
# 2. check installer size is not too small
# ==============================================================
{
POL_Debug_Message "# USER CHOICE: select local or download"
[ "$USE_AUTOMATION" = "1" ] && \
INSTALL_METHOD="DOWNLOAD" || \
POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"
if [ "$INSTALL_METHOD" = "LOCAL" ]; then
MSG="Please select the setup file to run."
POL_SetupWindow_browse "$(eval_gettext '$MSG')" ""
INSTALLER="$APP_ANSWER"
elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then
POL_Debug_Message "# download installer"
if [ "$USE_REGISTERED_VERSION" = "1" ]; then
# - - - - - - - - - - - - - - - - - - - - -
# TablEdit registered user - user/password
[ -z "$TE_USR" ] && POL_Debug_Fatal "# ERROR: user name not set"
[ -z "$TE_PWD" ] && POL_Debug_Fatal "# ERROR: password not set"
# - - - - - - - - - - - - - - - - - - - - -
# download html page for registered version
DOWNLOAD_PATH=$DOWNLOAD_RGSTRED_PATH
DOWNLOAD_DIR=$(dirname "$DOWNLOAD_PATH")
DOWNLOAD_FILE="windows_e.shtml"
DOWNLOAD_TMP=$POL_System_TmpDir
POL_Debug_Message "# download secured html page ($DOWNLOAD_DIR/$DOWNLOAD_FILE)"
wget --user "$TE_USR" --password "$TE_PWD" -O $DOWNLOAD_TMP/TE_DWLD $DOWNLOAD_DIR/$DOWNLOAD_FILE 2>/dev/null;
RET_VAL="$?"
[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning \"# download returns non zero value=$RET_VAL\"
[ ! -f "$DOWNLOAD_TMP/TE_DWLD" ] && POL_Debug_Fatal "# ERROR: download secured html page failed"
# - - - - - - - - - - - - - - - - - - - - -
POL_Debug_Message "# analyze HTML page"
VERSION_REMOTE=`fgrep "B>TablEdit v" $DOWNLOAD_TMP/TE_DWLD | cut -d " " -f 2 | cut -d "v" -f 2`
POL_Debug_Message "# installer version=$VERSION_REMOTE"
DOWNLOAD_FILE=`fgrep "B>TablEdit v" $DOWNLOAD_TMP/TE_DWLD | cut -d '"' -f 2`
DOWNLOAD_PATH=$DOWNLOAD_DIR/$DOWNLOAD_FILE
# - - - - - - - - - - - - - - - - - - - - -
# download secured installer
POL_Debug_Message "# download the secured installer ($DOWNLOAD_PATH)"
POL_Debug_Message "# wget -O "$DOWNLOAD_TMP/$DOWNLOAD_FILE" --user=$TE_USR --password=$TE_PWD $DOWNLOAD_PATH"
wget -O "$DOWNLOAD_TMP/$DOWNLOAD_FILE" --user=$TE_USR --password=$TE_PWD $DOWNLOAD_PATH
RET_VAL="$?"
[ "$RET_VAL" -ne "0" ] && echo POL_Debug_Warning "# download returns non zero value=$RET_VAL"
[ ! -f "$DOWNLOAD_TMP/$DOWNLOAD_FILE" ] && POL_Debug_Fatal "# ERROR: download secured installer failed"
INSTALLER="$DOWNLOAD_TMP/$DOWNLOAD_FILE"
POL_Debug_Message "# INFO: registered program downloaded to $INSTALLER"
else
# - - - - - - - - - - - - - - - - - - - - -
# download demo installer
DOWNLOAD_LINK=$DOWNLOAD_PREVIEW_PATH
DOWNLOAD_FILE=$(basename "$DOWNLOAD_LINK")
POL_Debug_Message "# download the demo installer ($DOWNLOAD_LINK)"
POL_Download "$DOWNLOAD_LINK"
INSTALLER="$POL_System_TmpDir/$DOWNLOAD_FILE"
POL_Debug_Message "# INFO: demo program downloaded to $INSTALLER"
fi
fi
if [[ -z "$INSTALLER" || ! -f "$INSTALLER" ]];then
MSG="ERROR: cannot locate installer >$INSTALLER< for $TITLE."
POL_Debug_Message "# $MSG"
POL_SetupWindow_message "$(eval_gettext '$MSG')" "$TITLE"
fi
# ---------------------
# check installer size
file_size_kb=`du -k "$INSTALLER" | cut -f1`
if [ "$file_size_kb" -lt 1000 ]; then
POL_Debug_Fatal "# ERROR: Installer \(${INSTALLER}\) size \(${file_size_kb kb}\) is too small for a set-up file."
fi
return 0
}
# ==============================================================
registryLanguage()
# --------------------------------------------------------------
# set TablEdit language according to locale
# ==============================================================
{
LANG_VAL=0 # 0 - English (default)
LANG_CUR=`echo $LANG | cut -c 1-2`
[ \"$LANG_CUR\" = \"de\" ] && LANG_VAL=512 # 512 - German
[ \"$LANG_CUR\" = \"fr\" ] && LANG_VAL=256 # 256 - French
[ \"$LANG_CUR\" = \"es\" ] && LANG_VAL=768 # 768 - Spanish
[ \"$LANG_CUR\" = \"jp\" ] && LANG_VAL=1024 # 1024- Janpanese
echo "\"Language\"=\"$LANG_VAL\"" >> $FILE_USRREG
}
# ==============================================================
registryProgram()
# --------------------------------------------------------------
# update registry with user registeration info
# ==============================================================
{
if [ "$USE_REGISTERED_VERSION" = "1" ]; then
POL_Debug_Message "# INFO: register Password, UserName"
echo -e "\"UserName\"=\""$TE_USR"\"\n\"Password\"=\""$TE_PWD"\"" >> $FILE_USRREG
FOUND=`fgrep '\"Password\"' $FILE_USRREG`
[ ! -z "$FOUND" ] && POL_Debug_Message "# INFO: registered"
fi
}
# ==============================================================
registryWindows()
# --------------------------------------------------------------
# We clean up scattered windows of regular install and
# update registry with user preferences (colors, windows)
# ==============================================================
{
POL_Debug_Message "# INFO: register windows"
echo "\"Colorsv3\"=\"0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0xff,0xdbecec,0xdff0f5,0x0,\"" >> $FILE_USRREG
echo "\"Palette1\"=\"326,76,104,118,0,27,465,28,53,233,20,1,132,0\"" >> $FILE_USRREG
echo "\"Palette2\"=\"597,76,104,118,511,27,465,28,53,233,20,1,132,0\"" >> $FILE_USRREG
echo "\"Palette3\"=\"432,76,104,49,984,27,189,28,53,95,8,1,132,0\"" >> $FILE_USRREG
echo "\"Palette4\"=\"491,76,104,72,0,219,281,28,53,141,12,1,148,0\"" >> $FILE_USRREG
echo "\"Palette5\"=\"492,173,104,95,885,102,373,28,53,187,16,1,148,0\"" >> $FILE_USRREG
echo "\"Palette6\"=\"706,76,104,141,0,27,101,141,101,141,1,1,148,0\"" >> $FILE_USRREG
echo "\"Palette7\"=\"162,383,551,58,0,637,551,60,553,58,1,1,24,0\"" >> $FILE_USRREG
echo -e "\"ScrOutput\"=\"001001110000=1W1:>899<>7F001P040S@//210000000000\"" >> $FILE_USRREG
}
# ==============================================================
getRegistryExists()
# --------------------------------------------------------------
# check if registry is valid for the installed program
# 0: not existing
# 1: existing
# ==============================================================
{
REGISTRY_EXISTS=0
# ---------------------
# check user.reg exists
FILE_USRREG="$WINEPREFIX/user.reg"
[ ! -f "$FILE_USRREG" ] && POL_Debug_Fatal "# ERROR: file not found $FILE_USRREG"
# ---------------------
# check system.reg exists
FILE_SYSREG="$WINEPREFIX/system.reg"
[ ! -f "$FILE_SYSREG" ] && POL_Debug_Fatal "# ERROR: file not found $FILE_SYSREG"
# ---------------------
# check user.reg key exists
FOUND="`fgrep '\\TablEdit' $FILE_USRREG`"
[ -z "$FOUND" ] && POL_Debug_Message "# WARNING: key \\TablEdit does not yet exist\n(Wine may still need time to flush the file)\n$FILE_USRREG." && return 0
# ---------------------
# return success
REGISTRY_EXISTS=1
return "$REGISTRY_EXISTS"
}
# ==============================================================
waitsec()
# --------------------------------------------------------------
# sleep function with some debug message
# ==============================================================
{
P1="$1"
[[ -z "$P1" || "$P1" = 0 ]] && return 0
POL_Debug_Message "# let's wait $P1 seconds"
sleep "$P1"
}
# ==============================================================
updateRegistry()
# --------------------------------------------------------------
# update registry with some program settings
# color, windows position, user registration info, language
# The installers registry values do need time to show.
# So, if we do not find them, let's wait a while.
# ==============================================================
{
# - - - - - - - - - - - - - -
# validate registry exists
REGISTRY_EXISTS=0
getRegistryExists
typeset -i iCount=0 iMax=4
while [[ "$REGISTRY_EXISTS" = 0 && $iCount -lt $iMax ]]; do
iCount=iCount+1
POL_Debug_Message "# WARNING: waiting for registry $iCount"
waitsec 4
getRegistryExists
done
[ "$REGISTRY_EXISTS" = 0 ] && POL_Debug_Message "# WARNING: getRegistryExists - returned 0"
FILE_USRREG="$WINEPREFIX/user.reg"
# - - - - - - - - - - - - - -
# add to registry: Password, UserName, Windows, Language
POL_Debug_Message "# INFO: add registy keys Software\\\\\\\\TablEdit"
echo "[Software\\\\\\\\TablEdit\\\\\\\\TablEdit]" >> $FILE_USRREG
registryProgram
registryWindows
registryLanguage
echo -e "\n" >> $FILE_USRREG
}
# ==============================================================
getVersion()
# --------------------------------------------------------------
# read installed version from system.reg
# if not found, retry some times, then get remote version
# ==============================================================
{
REGISTRY_EXISTS=0
# ----------------------------------
# validate registry
getRegistryExists
typeset -i iCount=0 iMax=4
while [[ "$REGISTRY_EXISTS" = 0 && $iCount -lt $iMax ]]; do
iCount=iCount+1
POL_Debug_Message "# WARNING: waiting for registry $iCount"
waitsec 4
getRegistryExists
done
[ "$REGISTRY_EXISTS" = 0 ] && POL_Debug_Message "# WARNING: getRegistryExists returned 0"
# ----------------------------------
# get Version Info from system.reg
cd "$WINEPREFIX" || POL_Debug_Fatal "# ERROR: Unable to change directory"
RESULT1=`fgrep -A 1 '"DisplayName"="TablEdit' system.reg | grep -A 0 '"DisplayVersion"' `
[ ! -z "$RESULT1" ] && VERSION_INSTALLED=`echo $RESULT1 | cut -d '"' -f 4 `
if [ -z "$VERSION_INSTALLED" ]; then
# ----------------------------------
# get remote Version
POL_Debug_Warning "# WARNING: 'DisplayVersion TablEdit' not found in system.reg"
getVersionRemote
POL_Debug_Warning "# WARNING: using remote demo version ($VERSION_REMOTE) as a fallback"
VERSION_INSTALLED="$VERSION_REMOTE"
fi
# POL_Debug_Message "# VERSION_INSTALLED=$VERSION_INSTALLED"
# VER_LEN="${#VERSION_INSTALLED}"
# POL_Debug_Message "# LEN=$VER_LEN"
}
# ==============================================================
createShortcut()
# --------------------------------------------------------------
# 1. get installed version
# 2. remove previous desktop starter
# 3. remove previous POL shortcut
# 4. add POL shortcut with version info
# 5. add timidity to POL shortcut
# ==============================================================
{
# -------------------
POL_Debug_Message "# get program version"
getVersion
POL_Debug_Message "# VERSION_INSTALLED: $VERSION_INSTALLED"
LAUNCHER="$TITLE"
[ ! -z "$VERSION_INSTALLED" ] && LAUNCHER="$LAUNCHER-v$VERSION_INSTALLED"
POL_Debug_Message "# LAUNCHER: $LAUNCHER"
# -------------------
PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$LAUNCHER"
if [ ! -f "$PATH_SHORTCUT" ];then
# -------------------
POL_Debug_Message "# remove any previous desktop starter"
LINUX_DESKTOP=`xdg-user-dir DESKTOP`
PATH_SHORTCUT="$LINUX_DESKTOP/$TITLE"
rm -r "$PATH_SHORTCUT"* 2>/dev/null;
rm -r $HOME/.local/share/applications/*$TITLE* 2>/dev/null;
# -------------------
POL_Debug_Message "# remove previous POL shortcut"
PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$TITLE"
rm -r "$PATH_SHORTCUT"* 2>/dev/null;
# -------------------
POL_Debug_Message "# create POL shortcut"
POL_Shortcut "$EXECUTABLE_FILE" "$LAUNCHER" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
# -------------------
PATH_SHORTCUT="$POL_USER_ROOT/shortcuts/$LAUNCHER"
fi
[ -f "$PATH_SHORTCUT" ] && MSG="$LAUNCHER installation ok" && POL_Debug_Message "# $MSG"
# ===================
# Add timidity to POL shortcut
POL_Debug_Message "# Adding TiMidity to POL shortcut $PATH_SHORTCUT"
TIMIDITY_APP=`which timidity`
[ -z "$TIMIDITY_APP" ] && POL_Debug_Warning "# no timidity found" && return -1
if [ -z "`fgrep timidity $PATH_SHORTCUT`" ];then
STARTTIMIDITY="[ -z \"\`pstree | grep timidity\`\" ] \&\& timidity -iA -B2,8 -Os1l -s 44100 \&"
echo "s+POL_Wine*+$STARTTIMIDITY\nPOL_Wine+g" > $POL_System_TmpDir/SED_CMD
sed -i -f $POL_System_TmpDir/SED_CMD $PATH_SHORTCUT
fi
return 0
}
######################
# MAIN
IMAGE_TOP="https://tabledit.com/css/img/header1.jpg"
IMAGE_LEFT="https://tabledit.com/ios/TEFpad.ios.logo.175x175-75.jpg"
POL_GetSetupImages --force "$IMAGE_TOP" "$IMAGE_LEFT" "$TITLE"
POL_SetupWindow_Init
POL_Debug_Init
POL_Debug_Message "# show POL Window"
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX"
Set_OS "win7"
# ---------------------
POL_Debug_Message "# create PREFIX environment"
POL_Wine_SelectPrefix "$PREFIX"
POL_System_SetArch "x86"
POL_Wine_PrefixCreate
Set_OS "win7"
POL_System_TmpCreate "$PREFIX"
PWD_OLD=`pwd`
cd "$POL_System_TmpDir" || POL_Debug_Fatal "# ERROR: Unable to change directory"
POL_Debug_Message "# WINEPREFIX: $WINEPREFIX"
POL_Debug_Message "# PREFIX: $PREFIX"
POL_Debug_Message "# POL_System_TmpDir: $POL_System_TmpDir"
# ===================
POL_Debug_Message "# USER CHOICE: registered or preview"
getRegisteredOrPreview
# ---------------------
POL_Debug_Message "# get Installer local or download"
getInstallerLocalDownload
# ===================
POL_Debug_Message "# check TiMidity is available"
TIMIDITY_APP=`which timidity`
if [ -z "$TIMIDITY_APP" ];then
MSG="For $TITLE to run, we recommend you install TiMidity on your system first.\nPlease open a terminal and execute this command line:\n
sudo apt-get -y install timidity\n\nThen continue or restart this POL installation.\n"
POL_SetupWindow_message "$(eval_gettext '$MSG')"
fi
# ===================
POL_Debug_Message "# start wine installation ("$INSTALLER")"
MSG="Installation in progress."
POL_SetupWindow_wait "$(eval_gettext '$MSG')" ""
POL_Wine "$INSTALLER"
POL_Debug_Message "# confirm the executable - tabledit.exe or tableditdemo.exe exists"
FOUND=`find $WINEPREFIX -name "$EXECUTABLE_FILE" -print`
[ -z "$FOUND" ] && POL_Debug_Fatal "# ERROR: $EXECUTABLE_FILE not found in $WINEPREFIX"
# ===================
POL_Debug_Message "# finalize installation"
updateRegistry
createShortcut
POL_System_TmpDelete
POL_SetupWindow_Close
exit
SvarSaturday 1 May 2021 at 17:52
Ändrat av VolkerFroehlich |
| VolkerFroehlich | Wednesday 19 August 2020 at 17:23 |
VolkerFroehlich
|
WarningThis update has not been approved yet by the team. MeddelandenHi Guys, The code now runs stable on both Ubuntu 19.10 and 20.04.1.
Differences@@ -1,121 +1,107 @@ #!/usr/bin/env playonlinux-bash # Date : (2020-08-17 23:57) -# Last revision : (2020-08-18 02:40) +# Last revision : (2020-08-19 17:20) # Wine version used : 5.0.2 -# Distribution used to test : Ubuntu 19.10 +# Distribution used to test : Ubuntu 19.10, 20.04.1 LTS # Author : VolkerFröhlich # PlayOnLinux : 4.3.4 # Script licence : GPL3 # Program licence : Free/Retail -################## -# code ideas: -# 1-TiMidity installation requires sudo -# sudo apt-get install -y timidity -# 2-create a bash script 'start_tabledit3.sh' -# for app launch with TiMidity -# echo "timidity -iA -B2,8 -Os1l -s 44100 & playonlinux --run \"TablEdit3\"" > start_tabledit3.sh -# 3-Patch TablEdit3.desktop -# DESKTOP_PATH="`xdg-user-dir DESKTOP`/TablEdit3.desktop" -# if [ -f "$DESKTOP_PATH" ] && [ -z "`fgrep start_tabledit3 $DESKTOP_PATH`" ];then -# sed -i 's+Exec=/usr/share/playonlinux/playonlinux --run "TablEdit3" %F+#Exec=/usr/share/playonlinux/playonlinux --run "TablEdit3" %F\nExec=start_tabledit3.sh+g' $DESKTOP_PATH -# fi -################## [ "$PLAYONLINUX" = "" ] && exit 0 source "$PLAYONLINUX/lib/sources" - + TITLE="TablEdit3" - + PREFIX="tabledit3" AUTHOR="VolkerFröhlich" EDITOR="Matthieu Leschemelle" EDITOR_URL="https://tabledit.com/" - + EXECUTABLE_FILE="tableditdemo.exe" MD5="" - + # Starting the script POL_SetupWindow_Init - + # Starting debugging API POL_Debug_Init - + #POL_SetupWindow_SetID # Open dialogue box POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX" Set_OS "win7" POL_System_TmpCreate "$PREFIX" - + POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD" - + cd "$POL_System_TmpDir"; -if [ "$INSTALL_METHOD" = "LOCAL" ] -then - POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE" - INSTALLER="$APP_ANSWER" +############################## +POL_Debug_Message "# select installer" +if [ "$INSTALL_METHOD" = "LOCAL" ]; then + POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE" + INSTALLER="$APP_ANSWER" + POL_Debug_Message "# confirm the executable name" + if [ ! "`basename $INSTALLER`" = "tabled32.exe" ]; then + EXECUTABLE_FILE="tabledit.exe" + fi + elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then -################## -# code ideas: -# for registered TablEdit user we need to enter user/password -# and use wget to download -# POL_SetupWindow_question "Are you registered user?" "$TITLE"; -# if [ "$APP_ANSWER" = "TRUE" ]; then -# DOWNLOAD_LINK="https://tabledit.com/secured/tev300.exe" -# DOWNLOAD_FILE="tev300.exe" -# EXECUTABLE_FILE="tabledit.exe" -# CMD_SUDO="sudo wget --user=<user> --password=<password> $DOWNLOAD_LINK" -# `$CMD_SUDO` -# else -################## -DOWNLOAD_LINK=https://tabledit.com/download/tabled32.exe -DOWNLOAD_FILE=$(basename "https://tabledit.com/download/tabled32.exe") -POL_Download "$DOWNLOAD_LINK" -# fi -INSTALLER="$POL_System_TmpDir/tabled32.exe" + DOWNLOAD_LINK=https://tabledit.com/download/tabled32.exe + DOWNLOAD_FILE=$(basename "https://tabledit.com/download/tabled32.exe") + POL_Download "$DOWNLOAD_LINK" + INSTALLER="$POL_System_TmpDir/tabled32.exe" fi - -# Setting prefix path + +############################## +POL_Debug_Message "# Set prefix" POL_Wine_SelectPrefix "$PREFIX" +POL_Debug_Message "# setting WINEARCH to win32" +POL_System_SetArch "x86" POL_Wine_PrefixCreate -POL_SetupWindow_message "$(eval_gettext 'For $TITLE to run, you should make sure TiMidity is installed on your system:\n sudo apt-get -y install timidity')" - +############################## +POL_Debug_Message "# check TiMidity is available" +TIMIDITY_APP=`which timidity` +if [ -z "$TIMIDITY_APP" ];then + MSG="For $TITLE to run, we recommend you install TiMidity on your system first.\nPlease open a terminal and execute this command line:\n + sudo apt-get -y install timidity\n\nThen continue or restart this POL installation.\n" + POL_SetupWindow_message "$(eval_gettext '$MSG')" +fi -POL_SetupWindow_wait "$(eval_gettext 'Installation in progress.\n Do NOT launch the program and first let finish this script.')" "$TITLE" - -################## -# HACK: START -# We create the shortcut based on a dummy exe. -# This avoids this script ends prematurely, -# if the user is launching the executable during installation -# -# manually create the TablEdit progamm directory -cd "$HOME/.PlayOnLinux/wineprefix/$PREFIX/drive_c" 2>/dev/null; -mkdir "Program Files (x86)" 2>/dev/null; -cd "Program Files (x86)" 2>/dev/null; -mkdir "TablEdit" 2>/dev/null; -cd "TablEdit" 2>/dev/null; -# copy the dummy file -cp "$INSTALLER" "./$EXECUTABLE_FILE" 2>/dev/null; -# create the shortcut -POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;" -# remove the TablEdit progamm directory -cd .. 2>/dev/null; -rm -r "TablEdit" 2>/dev/null; -cd "$POL_System_TmpDir"; -# HACK: END -################## +############################## +POL_Debug_Message "# start wine installation" +MSG="Installation in progress." +POL_SetupWindow_wait "$(eval_gettext '$MSG')" "$TITLE" POL_Wine "$INSTALLER" -################## -# The code below may never be reached. -# If the application launches directly -# during install, this scripts exits. +POL_Debug_Message "# confirm the executable exists" +if [ -z `find $WINEPREFIX -name "$EXECUTABLE_FILE" -print` ]; then + POL_Debug_Fatal "$EXECUTABLE_FILE not found in $WINEPREFIX" +fi POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;" - -POL_System_TmpDelete +############################## +# Add timidity to POL shortcut +TIMIDITY_APP=`which timidity` +if [ ! -z "$TIMIDITY_APP" ];then + POL_TITLE_PATH="$POL_USER_ROOT/shortcuts/$TITLE" + POL_Debug_Message "# Adding TiMidity to POL shortcut $POL_TITLE_PATH" + if [ ! -f "$POL_TITLE_PATH" ];then + POL_Debug_Warning "file not found: $POL_TITLE_PATH" + else + if [ -z "`fgrep timidity $POL_TITLE_PATH`" ];then + STARTTIMIDITY="[ -z \"\`pstree | grep timidity\`\" ] \&\& timidity -iA -B2,8 -Os1l -s 44100 \&" + echo "s+POL_Wine*+$STARTTIMIDITY\nPOL_Wine+g" > $POL_System_TmpDir/SED_CMD + sed -i -f $POL_System_TmpDir/SED_CMD $POL_TITLE_PATH + fi + fi +fi + +############################## +POL_Debug_Message "# delete temp directory" +POL_System_TmpDelete + POL_SetupWindow_Close exit - New source code#!/usr/bin/env playonlinux-bash
# Date : (2020-08-17 23:57)
# Last revision : (2020-08-19 17:20)
# Wine version used : 5.0.2
# Distribution used to test : Ubuntu 19.10, 20.04.1 LTS
# Author : VolkerFröhlich
# PlayOnLinux : 4.3.4
# Script licence : GPL3
# Program licence : Free/Retail
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
TITLE="TablEdit3"
PREFIX="tabledit3"
AUTHOR="VolkerFröhlich"
EDITOR="Matthieu Leschemelle"
EDITOR_URL="https://tabledit.com/"
EXECUTABLE_FILE="tableditdemo.exe"
MD5=""
# Starting the script
POL_SetupWindow_Init
# Starting debugging API
POL_Debug_Init
#POL_SetupWindow_SetID
# Open dialogue box
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX"
Set_OS "win7"
POL_System_TmpCreate "$PREFIX"
POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"
cd "$POL_System_TmpDir";
##############################
POL_Debug_Message "# select installer"
if [ "$INSTALL_METHOD" = "LOCAL" ]; then
POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
INSTALLER="$APP_ANSWER"
POL_Debug_Message "# confirm the executable name"
if [ ! "`basename $INSTALLER`" = "tabled32.exe" ]; then
EXECUTABLE_FILE="tabledit.exe"
fi
elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then
DOWNLOAD_LINK=https://tabledit.com/download/tabled32.exe
DOWNLOAD_FILE=$(basename "https://tabledit.com/download/tabled32.exe")
POL_Download "$DOWNLOAD_LINK"
INSTALLER="$POL_System_TmpDir/tabled32.exe"
fi
##############################
POL_Debug_Message "# Set prefix"
POL_Wine_SelectPrefix "$PREFIX"
POL_Debug_Message "# setting WINEARCH to win32"
POL_System_SetArch "x86"
POL_Wine_PrefixCreate
##############################
POL_Debug_Message "# check TiMidity is available"
TIMIDITY_APP=`which timidity`
if [ -z "$TIMIDITY_APP" ];then
MSG="For $TITLE to run, we recommend you install TiMidity on your system first.\nPlease open a terminal and execute this command line:\n
sudo apt-get -y install timidity\n\nThen continue or restart this POL installation.\n"
POL_SetupWindow_message "$(eval_gettext '$MSG')"
fi
##############################
POL_Debug_Message "# start wine installation"
MSG="Installation in progress."
POL_SetupWindow_wait "$(eval_gettext '$MSG')" "$TITLE"
POL_Wine "$INSTALLER"
POL_Debug_Message "# confirm the executable exists"
if [ -z `find $WINEPREFIX -name "$EXECUTABLE_FILE" -print` ]; then
POL_Debug_Fatal "$EXECUTABLE_FILE not found in $WINEPREFIX"
fi
POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
##############################
# Add timidity to POL shortcut
TIMIDITY_APP=`which timidity`
if [ ! -z "$TIMIDITY_APP" ];then
POL_TITLE_PATH="$POL_USER_ROOT/shortcuts/$TITLE"
POL_Debug_Message "# Adding TiMidity to POL shortcut $POL_TITLE_PATH"
if [ ! -f "$POL_TITLE_PATH" ];then
POL_Debug_Warning "file not found: $POL_TITLE_PATH"
else
if [ -z "`fgrep timidity $POL_TITLE_PATH`" ];then
STARTTIMIDITY="[ -z \"\`pstree | grep timidity\`\" ] \&\& timidity -iA -B2,8 -Os1l -s 44100 \&"
echo "s+POL_Wine*+$STARTTIMIDITY\nPOL_Wine+g" > $POL_System_TmpDir/SED_CMD
sed -i -f $POL_System_TmpDir/SED_CMD $POL_TITLE_PATH
fi
fi
fi
##############################
POL_Debug_Message "# delete temp directory"
POL_System_TmpDelete
POL_SetupWindow_Close
exit
SvarThursday 20 August 2020 at 9:32
|
| Dadu042 | Tuesday 18 August 2020 at 6:03 |
|
Dadu042
|
WarningThis update has not been approved yet by the team. Differences@@ -0,0 +1,121 @@ +#!/usr/bin/env playonlinux-bash +# Date : (2020-08-17 23:57) +# Last revision : (2020-08-18 02:40) +# Wine version used : 5.0.2 +# Distribution used to test : Ubuntu 19.10 +# Author : VolkerFröhlich +# PlayOnLinux : 4.3.4 +# Script licence : GPL3 +# Program licence : Free/Retail +################## +# code ideas: +# 1-TiMidity installation requires sudo +# sudo apt-get install -y timidity +# 2-create a bash script 'start_tabledit3.sh' +# for app launch with TiMidity +# echo "timidity -iA -B2,8 -Os1l -s 44100 & playonlinux --run \"TablEdit3\"" > start_tabledit3.sh +# 3-Patch TablEdit3.desktop +# DESKTOP_PATH="`xdg-user-dir DESKTOP`/TablEdit3.desktop" +# if [ -f "$DESKTOP_PATH" ] && [ -z "`fgrep start_tabledit3 $DESKTOP_PATH`" ];then +# sed -i 's+Exec=/usr/share/playonlinux/playonlinux --run "TablEdit3" %F+#Exec=/usr/share/playonlinux/playonlinux --run "TablEdit3" %F\nExec=start_tabledit3.sh+g' $DESKTOP_PATH +# fi +################## +[ "$PLAYONLINUX" = "" ] && exit 0 +source "$PLAYONLINUX/lib/sources" + +TITLE="TablEdit3" + +PREFIX="tabledit3" +AUTHOR="VolkerFröhlich" +EDITOR="Matthieu Leschemelle" +EDITOR_URL="https://tabledit.com/" + +EXECUTABLE_FILE="tableditdemo.exe" +MD5="" + +# Starting the script +POL_SetupWindow_Init + +# Starting debugging API +POL_Debug_Init + +#POL_SetupWindow_SetID +# Open dialogue box +POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX" +Set_OS "win7" +POL_System_TmpCreate "$PREFIX" + +POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD" + +cd "$POL_System_TmpDir"; +if [ "$INSTALL_METHOD" = "LOCAL" ] +then + POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE" + INSTALLER="$APP_ANSWER" +elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then +################## +# code ideas: +# for registered TablEdit user we need to enter user/password +# and use wget to download +# POL_SetupWindow_question "Are you registered user?" "$TITLE"; +# if [ "$APP_ANSWER" = "TRUE" ]; then +# DOWNLOAD_LINK="https://tabledit.com/secured/tev300.exe" +# DOWNLOAD_FILE="tev300.exe" +# EXECUTABLE_FILE="tabledit.exe" +# CMD_SUDO="sudo wget --user=<user> --password=<password> $DOWNLOAD_LINK" +# `$CMD_SUDO` +# else +################## +DOWNLOAD_LINK=https://tabledit.com/download/tabled32.exe +DOWNLOAD_FILE=$(basename "https://tabledit.com/download/tabled32.exe") +POL_Download "$DOWNLOAD_LINK" +# fi +INSTALLER="$POL_System_TmpDir/tabled32.exe" +fi + +# Setting prefix path +POL_Wine_SelectPrefix "$PREFIX" +POL_Wine_PrefixCreate + +POL_SetupWindow_message "$(eval_gettext 'For $TITLE to run, you should make sure TiMidity is installed on your system:\n sudo apt-get -y install timidity')" + + +POL_SetupWindow_wait "$(eval_gettext 'Installation in progress.\n Do NOT launch the program and first let finish this script.')" "$TITLE" + +################## +# HACK: START +# We create the shortcut based on a dummy exe. +# This avoids this script ends prematurely, +# if the user is launching the executable during installation +# +# manually create the TablEdit progamm directory +cd "$HOME/.PlayOnLinux/wineprefix/$PREFIX/drive_c" 2>/dev/null; +mkdir "Program Files (x86)" 2>/dev/null; +cd "Program Files (x86)" 2>/dev/null; +mkdir "TablEdit" 2>/dev/null; +cd "TablEdit" 2>/dev/null; +# copy the dummy file +cp "$INSTALLER" "./$EXECUTABLE_FILE" 2>/dev/null; +# create the shortcut +POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;" +# remove the TablEdit progamm directory +cd .. 2>/dev/null; +rm -r "TablEdit" 2>/dev/null; +cd "$POL_System_TmpDir"; +# HACK: END +################## + +POL_Wine "$INSTALLER" + +################## +# The code below may never be reached. +# If the application launches directly +# during install, this scripts exits. + +POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;" + +POL_System_TmpDelete + +POL_SetupWindow_Close +exit + New source code#!/usr/bin/env playonlinux-bash
# Date : (2020-08-17 23:57)
# Last revision : (2020-08-18 02:40)
# Wine version used : 5.0.2
# Distribution used to test : Ubuntu 19.10
# Author : VolkerFröhlich
# PlayOnLinux : 4.3.4
# Script licence : GPL3
# Program licence : Free/Retail
##################
# code ideas:
# 1-TiMidity installation requires sudo
# sudo apt-get install -y timidity
# 2-create a bash script 'start_tabledit3.sh'
# for app launch with TiMidity
# echo "timidity -iA -B2,8 -Os1l -s 44100 & playonlinux --run \"TablEdit3\"" > start_tabledit3.sh
# 3-Patch TablEdit3.desktop
# DESKTOP_PATH="`xdg-user-dir DESKTOP`/TablEdit3.desktop"
# if [ -f "$DESKTOP_PATH" ] && [ -z "`fgrep start_tabledit3 $DESKTOP_PATH`" ];then
# sed -i 's+Exec=/usr/share/playonlinux/playonlinux --run "TablEdit3" %F+#Exec=/usr/share/playonlinux/playonlinux --run "TablEdit3" %F\nExec=start_tabledit3.sh+g' $DESKTOP_PATH
# fi
##################
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
TITLE="TablEdit3"
PREFIX="tabledit3"
AUTHOR="VolkerFröhlich"
EDITOR="Matthieu Leschemelle"
EDITOR_URL="https://tabledit.com/"
EXECUTABLE_FILE="tableditdemo.exe"
MD5=""
# Starting the script
POL_SetupWindow_Init
# Starting debugging API
POL_Debug_Init
#POL_SetupWindow_SetID
# Open dialogue box
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$AUTHOR" "$PREFIX"
Set_OS "win7"
POL_System_TmpCreate "$PREFIX"
POL_SetupWindow_InstallMethod "LOCAL,DOWNLOAD"
cd "$POL_System_TmpDir";
if [ "$INSTALL_METHOD" = "LOCAL" ]
then
POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
INSTALLER="$APP_ANSWER"
elif [ "$INSTALL_METHOD" = "DOWNLOAD" ]; then
##################
# code ideas:
# for registered TablEdit user we need to enter user/password
# and use wget to download
# POL_SetupWindow_question "Are you registered user?" "$TITLE";
# if [ "$APP_ANSWER" = "TRUE" ]; then
# DOWNLOAD_LINK="https://tabledit.com/secured/tev300.exe"
# DOWNLOAD_FILE="tev300.exe"
# EXECUTABLE_FILE="tabledit.exe"
# CMD_SUDO="sudo wget --user=<user> --password=<password> $DOWNLOAD_LINK"
# `$CMD_SUDO`
# else
##################
DOWNLOAD_LINK=https://tabledit.com/download/tabled32.exe
DOWNLOAD_FILE=$(basename "https://tabledit.com/download/tabled32.exe")
POL_Download "$DOWNLOAD_LINK"
# fi
INSTALLER="$POL_System_TmpDir/tabled32.exe"
fi
# Setting prefix path
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate
POL_SetupWindow_message "$(eval_gettext 'For $TITLE to run, you should make sure TiMidity is installed on your system:\n sudo apt-get -y install timidity')"
POL_SetupWindow_wait "$(eval_gettext 'Installation in progress.\n Do NOT launch the program and first let finish this script.')" "$TITLE"
##################
# HACK: START
# We create the shortcut based on a dummy exe.
# This avoids this script ends prematurely,
# if the user is launching the executable during installation
#
# manually create the TablEdit progamm directory
cd "$HOME/.PlayOnLinux/wineprefix/$PREFIX/drive_c" 2>/dev/null;
mkdir "Program Files (x86)" 2>/dev/null;
cd "Program Files (x86)" 2>/dev/null;
mkdir "TablEdit" 2>/dev/null;
cd "TablEdit" 2>/dev/null;
# copy the dummy file
cp "$INSTALLER" "./$EXECUTABLE_FILE" 2>/dev/null;
# create the shortcut
POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
# remove the TablEdit progamm directory
cd .. 2>/dev/null;
rm -r "TablEdit" 2>/dev/null;
cd "$POL_System_TmpDir";
# HACK: END
##################
POL_Wine "$INSTALLER"
##################
# The code below may never be reached.
# If the application launches directly
# during install, this scripts exits.
POL_Shortcut "$EXECUTABLE_FILE" "$TITLE" "" "" "AudioVideo;Audio;AudioVideoEditing;Music;"
POL_System_TmpDelete
POL_SetupWindow_Close
exit
Svar |
This site allows content generated by members, and we promptly remove any content that infringes copyright according to our Terms of Service. To report copyright infringement, please send a notice to dmca-notice@playonlinux.com
Install this program 