Sida 34 av 98
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:00
av Konservburk
Hans Linde skrev:start kan inte stannas med pause eller stop
texten behöver markeras om vid tex "list".
Jag har visst haft sönder dem... just nu funkar de precis som
start.
Hans Linde skrev:ctlF7 scale-fönster öppnas och röst stannar. Den går inte att starts.
Det felat lyckas jag inte hitta. För mig stannar det inte alls. Vad menar du med att den inte går att starta igen?
Hans Linde skrev:ctlF10-12 felmedelande
Samma felmeddelande som förut med "<Control>kommando" som inte finns?
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:16
av Hans Linde
Jag kommer ingen vart eftersom det låst sig,
Det är möjligt att låsning skede på annan plats
i raden, men jag kunde inget dubbel kontrollera.
Nej det vart inte samma felmeddelande.
Om du ger tillbaka "print screen" ska jag visa
Hmmm... ny vilket funktion!!!!!
Det går att markera innehållet i en ruta.
Det är ett stort problem för dyslektiker
att de där j-vl grå små rutorna i Window inte
nappar på ctlC..... men här ser de felmeddelandet
Inget kommando 22 har definierats.
Inget kommando 23 har definierats.
Inget kommando 24 har definierats.
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:20
av Konservburk
Hans Linde skrev:Nej det vart inte samma felmeddelande.
Om du ger tillbaka "print screen" ska jag visa
Det går att ta en skärmbild från gimp utan någon print-screen... file(arkiv)-menyn -> acquire(hämta?)-> screenshot.
Hans Linde skrev:men här ser de felmeddelandet
Inget kommando 22 har definierats.
Inget kommando 23 har definierats.
Inget kommando 24 har definierats.
Har du kört en "install" igen?
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:22
av Konservburk
Du får en
r9 med lagad stop/pause och en fulfix så att "list" inte förstör utklippet:
Kod: Markera allt
#!/bin/sh
# r9
case "$-" in *i*) return ;; esac
export LC_ALL=C
#exec 2>&-
APP="Talsyntes"
DIR=~/".talsyntes"
SCRIPT="$DIR/talsyntes.sh"
DATA_DIR="$DIR/data"
VOICES_DIR="$DIR/voices"
SETTINGS_DIR="$DIR/settings"
mkdir -p "$DATA_DIR" "$VOICES_DIR" "$SETTINGS_DIR"
if test "x$SCRIPT" != "x$0" && cp -f "$0" "$SCRIPT" 2>&-
then
iconv -f utf-8 -t iso8859-1 "$0" >/dev/null 2>&- ||
iconv -f iso8859-1 -t utf-8 "$0" >"$SCRIPT"
chmod +x "$SCRIPT" && exec "$SCRIPT" "$@"
fi
get_dialog() {
cat "$SETTINGS_DIR"/dialog 2>&- ||
which zenity 2>&- ||
which Xdialog 2>&- ||
echo "$0: missing zenity or Xdialog" >&2
}
case "$1" in
stop|start)
pkill -P $(pgrep -u"$(id -u)" -d, "${SCRIPT##*/}") mplayer
;;
pause)
find "$DIR" -name mplayer.\*.fifo -type p -exec sh -c 'echo pause >{}' \;
;;
list)
dialog="$(get_dialog)"
ps -opid=,ppid=,args= $(pgrep -u"$(id -u)" "${SCRIPT##*/}") |
grep -vE "(^|[[:blank:]]+)$$([[:blank:]]+|$)" | grep "$*$" |
while read pid
do pkill -P "${pid%% *}" "${dialog##*/}"
done
;;
*)
ps -opid=,ppid=,args= $(pgrep -u"$(id -u)" "${SCRIPT##*/}") |
grep -vE "(^|[[:blank:]]+)$$([[:blank:]]+|$)" |
grep -q "$*$" && exit
;;
esac
create_dialog() {
dialog="$(get_dialog)"
case "$1" in
list)
type="$2"
title="$3"
while read item
do echo "$item" | grep -qE "($4)" && default=true || default=false
case "$dialog" in
*zenity)
set "$@" "$default" "${item##*/}"
;;
*Xdialog)
set "$@" "${item##*/}" "${item##*/}"
"$default" && set "$@" on || set "$@" off
;;
esac
done
shift 4
case "$dialog" in
*zenity)
set -- --width 400 --height 400 --list \
--"$type"list --text "$title" --column "" --column "" "$@"
;;
*Xdialog)
set -- --stdout --separator "|" --no-tags \
--"$type"list "$title" 400x400 0 "$@"
;;
esac
;;
scale)
case "$dialog" in
*zenity)
set -- --scale --text "$2" --print-partial \
--min-value -100 --max-value 100 --value "$3"
;;
*Xdialog)
set -- --stdout --rangebox "$2" 10 60 -100 100 "$3"
;;
esac
;;
progress)
case "$dialog" in
*zenity)
set -- --width 300 --progress --auto-close --text "$2"
;;
*Xdialog)
set -- --stdout --gauge "$2" 5 60
;;
esac
;;
question)
case "$dialog" in
*zenity)
set -- --question --text "$2"
;;
*Xdialog)
set -- --stdout --yesno "$2" 10 60
;;
esac
;;
info)
case "$dialog" in
*zenity)
set -- --info --no-wrap --text "$2"
;;
*Xdialog)
set -- --stdout --fixed-font --msgbox "$2" 0 0
;;
esac
;;
*) return ;;
esac
LC_ALL=sv_SE.UTF-8 "${dialog:-:}" --title "$APP" "$@"
}
metacity_info() {
echo '
KEY="/apps/metacity/global_keybindings"
CMD="/apps/metacity/keybinding_commands"
PREFIX="run_command_"
SUFFIX=""
'
}
compiz_info() {
echo '
KEY="/apps/compiz/general/allscreens/options"
CMD="/apps/compiz/general/allscreens/options"
PREFIX="run_command"
SUFFIX="_key"
'
}
scale_mapping() {
awk -vmin="$1" -vdef="$2" -vmax="$3" -vbend="${4:-1}" '
function f(x)
{
factor = (a != b) ? 2*a*b*log(a/b)/(a-b) : (a+b)
return factor * log(x) * x / (x^2-1) - ((a < b) ? a : b) / bend
}
BEGIN {
a = (max - def)
b = (def - min)
if (max < min) { a = -a; b = -b; }
x0=2; x1=3; y0=f(x0); y1=f(x1); lim=1e-4
while( x1>1 && ( (x1-x0)>lim || (x0-x1)>lim) ) {
y1 = f(x1); x2 = x1 - (x1 - x0) * y1 / (y1 - y0)
x0 = x1; x1 = x2; y0 = y1;
}
incl = (x1>1) ? x1 : 1
}
{
expo = $1 / 100
if (incl != 1) expo = (incl^expo - 1/incl^expo) / (incl - 1/incl)
expo = (expo + 1) / 2
if (a != b) expo = ((a / b)^(2 * expo) - 1) / ((a / b)^2 - 1)
printf("%f\n", min + (max - min) * expo)
}
'
}
get_speed() {
2>&- scale_mapping 5 1 0.2 <"$SETTINGS_DIR"/speed || echo 1.0
}
get_freq() {
2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/freq || echo 1.0
}
get_volume() {
2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/volume || echo 1.0
}
get_rate() {
2>&- scale_mapping 1000 16000 48000 <"$SETTINGS_DIR"/rate || echo 16000
}
get_scale() {
2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/scale || echo 1.0
}
get_stride() {
2>&- scale_mapping 1 60 400 <"$SETTINGS_DIR"/stride || echo 60
}
get_overlap() {
2>&- scale_mapping 0 0.2 1 <"$SETTINGS_DIR"/overlap || echo 0.2
}
get_search() {
2>&- scale_mapping 0 14 200 <"$SETTINGS_DIR"/search || echo 14
}
get_method() {
2>&- cat "$SETTINGS_DIR"/method || echo tempo
}
get_accel() {
2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/accel || echo 1.0
}
get_voice() {
2>&- readlink "$SETTINGS_DIR"/voice
}
find -L "$SETTINGS_DIR" -maxdepth 1 -name voice -type l -exec rm {} \;
ls "$VOICES_DIR"/[a-z][a-z][1-9]:* >/dev/null 2>&- &&
test -x "$SCRIPT" &&
test -x "$DIR/mbrola" ||
set install
cd "$DIR"
case "$1" in
stop|pause)
;;
loop)
while "$SCRIPT" start ; do :; done
;;
start)
#xclip -o | grep -q . || exit
test -h "$SETTINGS_DIR/voice" || exec "$SCRIPT" adjust voice
find "$DIR" -name mplayer.\*.fifo -type p -exec rm -f {} \;
FIFO="$DIR/mplayer.$$.fifo"
trap 'rm -f "$FIFO"' EXIT
test -p "$FIFO" || mkfifo "$FIFO"
if voice=$(ls "$VOICES_DIR/$2":* 2>&-)
then shift
else voice="$(get_voice)"
fi
voice="${voice##*/}"
speed="$(get_speed)"
freq="$(get_freq)"
volume="$(get_volume)"
rate="$(get_rate)"
scale="$(get_scale)"
stride="$(get_stride)"
overlap="$(get_overlap)"
search="$(get_search)"
method="$(get_method)"
accel="$(get_accel)"
scaletempo="$scaletempo${scaletempo+:}scale=${scale:-1}"
scaletempo="$scaletempo${scaletempo+:}stride=${stride:-60}"
scaletempo="$scaletempo${scaletempo+:}overlap=${overlap:-0.20}"
scaletempo="$scaletempo${scaletempo+:}search=${search:-14}"
scaletempo="$scaletempo${scaletempo+:}speed=${method:-tempo}"
scaletempo="-af scaletempo=$scaletempo -speed ${accel:-1}"
xclip -o |
espeak -v mb-"${voice%:*}" |
"$DIR/mbrola" -e \
-t "${speed:-1}" \
-f "${freq:-1}" \
-v "${volume:-1}" \
-l "${rate:-16000}" \
"$VOICES_DIR/$voice" - -.wav |
mplayer -really-quiet -input file="$FIFO" $scaletempo -demuxer audio -
;;
list)
cd "$SETTINGS_DIR"
list=$(
echo "Nuvarande inställningar"
echo
for option in \
voice speed freq rate volume accel \
scale stride overlap search method dialog
do if test -h "$option"
then
setting=$(readlink "$option")
setting="${setting##*/}" && value=""
else
setting="$(cat $option 2>&-)"
value="$(get_$option)"
fi
test "$option" = dialog &&
setting="${value##*/}" && value=""
test "$option" = method &&
setting="${setting:-tempo}" && value=""
printf "%s:\t\t%s\t\t%s\n" \
"$option" "${setting:-0}" "${value:+(}$value${value:+)}"
done #| sort
)
create_dialog question "$list"
exit
;;
reset)
cd "$SETTINGS_DIR"
case "$2" in
'')
create_dialog question "Återställ standardinställningarna?" || exit
rm -f \
dialog speed freq volume rate scale stride overlap search method accel
;;
dialog|speed|freq|volume|rate|scale|stride|overlap|search|method|accel)
rm -f "$2"
;;
esac
;;
adjust)
case "$2" in '')
set "$1" $(
printf "%s\n" speed freq volume rate \
scale stride overlap search method accel voice dialog |
create_dialog list radio "Välj inställning" speed
)
test $# -gt 1 && exec "$SCRIPT" "$@" || exit
esac
value=$(cat "$SETTINGS_DIR/$2" 2>&-)
case "$2" in
voice)
case "$3" in
'')
voice=$(readlink "$SETTINGS_DIR"/voice)
voice=$(
ls "$VOICES_DIR"/[a-z][a-z][1-9]:* 2>&- |
create_dialog list radio "Välj röst" "^${voice#../}$"
) && test -n "$voice" && voice="$VOICES_DIR/$voice"
;;
*)
voice=$(ls "$VOICES_DIR/$3":* 2>&-)
;;
esac &&
ln -sf "$voice" "$SETTINGS_DIR"/voice
exit
;;
dialog)
case "$3" in
'')
value=$(
which zenity Xdialog 2>&- |
create_dialog list radio "Välj dialogrutesystem" "${value:-zenity}"
) && echo "$value" >"$SETTINGS_DIR/$2"
;;
zenity|Xdialog)
echo "$3" >"$SETTINGS_DIR/$2"
;;
esac
exit
;;
speed) title="Uppläsningshastighet" ;;
freq) title="Röstläge" ;;
volume) title="Uppläsningsvolym" ;;
rate) title="Rösttäthet" ;;
scale|stride|overlap|search|accel) title="scaletempo: $2" ;;
method)
case "$3" in
'')
value=$(
printf "%s\n" tempo pitch both none |
create_dialog list radio "scaletempo: $2" "${value:-tempo}"
) && echo "$value" >"$SETTINGS_DIR/$2"
;;
tempo|pitch|both|none)
echo "$3" >"$SETTINGS_DIR/$2"
;;
esac
exit
;;
*) exit
;;
esac
case "$3" in
'')
{ create_dialog scale "$title" "${value:-0}" || echo "$value"; } |
while read value
do test -n "$value" && echo "$value" >"$SETTINGS_DIR/$2"
done
;;
*)
echo "$3" |
awk -vvalue="$value" '{
value = ($1) ? value + $1 : 0
value = (value < 100) ? value : 100
value = (value > -100) ? value : -100
print(value)
}' >"$SETTINGS_DIR/$2"
;;
esac
;;
install)
URL="http://tcts.fpms.ac.be/synthesis/mbrola"
TMP=$(mktemp)
trap 'rm -f "$TMP"' EXIT
wget -qO- "$URL"/mbrcopybin.html |
sed -n '
s|.*"\(bin/[^"]*.zip\)"[^>]*>[^<]*LINUX i386.*|\1 (0.3Mb)|p
s|.*"\(dba/[^/]*/[^"]*\)"[^>]*>\([^:]*:\s*[^<]*\).*|\1\t\2|p
' >"$TMP"
voices=$(
cd /usr/share/espeak-data/voices/mb &&
echo mb-[a-z][a-z][1-9] |
sed 's/mb-//g;s/\(.\)\s\(.\)/\1|\2/g'
)
voices=$(
grep -E "/($voices)/" <"$TMP" | cut -f2 |
create_dialog list check "Välj språk" '^(sw|us|en)[[:digit:]]:' |
sed 's/:[^|]*//g'
)
test -n "$voices" || exit
rm -f "$VOICES_DIR"/[a-z][a-z][1-9]:* 2>&-
cd "$DATA_DIR"
grep -E "(^bin|/$voices/)" <"$TMP" |
awk '{
size[NR]=size[NR-1]+substr($NF,2,length($NF)-4)
$NF=""
voice[NR]=$0
} END {
for(i=1; i<=NR; i++) {
print(100*size[i]/size[NR],voice[i])
}
}' |
while read progress file voice
do test -f "${file##*/}" ||
wget -q "$URL/$file" 2>&1
if test -z "$voice"
then
unzip -p "${file##*/}" mbrola-linux-i386 >"$DIR"/mbrola
chmod +x "$DIR"/mbrola
else
unzip -p "${file##*/}" "${voice%%:*}" >"$VOICES_DIR/$voice" 2>&- ||
unzip -p "${file##*/}" "${voice%%:*}/${voice%%:*}" \
>"$VOICES_DIR/$voice"
fi
echo $progress
done |
create_dialog progress "Hämtar Röster..."
bind_key() {
eval $("$1"_info)
gconftool-2 -a "$KEY" |
awk '$1~/^'"$PREFIX"'[0-9]+'"$SUFFIX"'$/ && $3~/^'"$2"'$/{print($1)}' |
while read binding
do gconftool-2 -u "$KEY/$binding"
done
ID=$(
gconftool-2 -a "$KEY" |
sed -n "s/^\s*$PREFIX\([0-9]\+\)$SUFFIX\s*=\s*/\1\t/p" |
sort -n |
awk '{if($1-prev>1)exit;prev=$1}END{print(prev+1)}'
)
gconftool-2 \
-s -t str "$KEY/$PREFIX${ID:-1}$SUFFIX" "$2" \
-s -t str "$CMD/${PREFIX#run_}${ID:-1}" "$3"
}
for wm in metacity compiz ; do
bind_key "$wm" "F1" "$SCRIPT stop"
bind_key "$wm" "F2" "$SCRIPT pause"
bind_key "$wm" "F3" "$SCRIPT start"
bind_key "$wm" "F4" "$SCRIPT loop"
bind_key "$wm" "F5" "$SCRIPT adjust"
bind_key "$wm" "F6" "$SCRIPT list"
bind_key "$wm" "F7" "$SCRIPT reset"
bind_key "$wm" "F8" "$SCRIPT uninstall"
bind_key "$wm" "F9" "$SCRIPT install"
bind_key "$wm" "<Control>F1" "$SCRIPT voice"
bind_key "$wm" "<Control>F2" "$SCRIPT speed"
bind_key "$wm" "<Control>F3" "$SCRIPT freq"
bind_key "$wm" "<Control>F4" "$SCRIPT rate"
bind_key "$wm" "<Control>F5" "$SCRIPT volume"
bind_key "$wm" "<Control>F6" "$SCRIPT accel"
bind_key "$wm" "<Control>F7" "$SCRIPT scale"
bind_key "$wm" "<Control>F8" "$SCRIPT stride"
bind_key "$wm" "<Control>F9" "$SCRIPT overlap"
bind_key "$wm" "<Control>F10" "$SCRIPT search"
bind_key "$wm" "<Control>F11" "$SCRIPT method"
bind_key "$wm" "<Control>F12" "$SCRIPT dialog"
done
create_dialog info "$APP installerad"
exec "$SCRIPT" voice
;;
uninstall)
create_dialog question "Avinstallera $APP?" || exit
unbind_keys() {
eval $("$1"_info)
gconftool-2 -a "$CMD" |
grep -F "$SCRIPT" |
sed -n 's/[^0-9]*\([0-9]\+\)[^0-9]*/\1/p' |
while read binding
do gconftool-2 -u "$CMD/${PREFIX#run_}$binding"
gconftool-2 -u "$KEY/$PREFIX$binding$SUFFIX"
done
}
unbind_keys metacity
unbind_keys compiz
rm -rf "$DIR"
create_dialog info "$APP avinstallerad"
;;
voice|dialog|speed|freq|volume|rate|scale|stride|overlap|search|method|accel)
exec "$SCRIPT" adjust "$@"
;;
*)
exec "$SCRIPT" start "$@"
;;
esac
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:26
av Hans Linde
Du får en r9 med lagad stop/pause och en fulfix så att "list" inte förstör utklippet:
tack,tack

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:37
av Hans Linde
Lysande!
Då kan du ta en öl, så återkommer jag morgon.

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:41
av Hans Linde
Nej!!! stopp, kom tillbaka!
loop stannar då jag med "adjust" väljer "accel".
Jag tror att det inträffade när jag kvitterade med"ok" och att justeringslisten kom upp.
Osis.

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:49
av Hans Linde
Och nu är det låst igen.
Nej så illa var det inte.
Åhh vad rörigt det blir.
Med "reset" kan jag häva låsningen.
Så då får jag också möljighet att kolla var exakt låsningen sker
och det var...hmmm.... ja var vardet..jo när jag släpper justeringen på listen.
Det gäller för alla val från "scale" och ner. Inget "method" o "voice".
Så det har med "listen" att göra.
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 21:57
av Konservburk
Hans Linde skrev:Med "reset" kan jag häva låsningen.
Så då får jag också möljighet att kolla var exakt låsningen sker
och det var...hmmm.... ja var vardet..jo när jag släpper justeringen på listen.
Det gäller för alla val från "scale" och ner. Inget "method" o "voice".
Så det har med "listen" att göra.
Det är när du släpper listen som den ska uppdatera värdet. Det är väl där någonting inte riktigt stämmer.... hur är det, fungerar det ibland? Eller låser det sig alltid?
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 22:00
av Hans Linde
det låser sig alltid, när reglaget på listen släpps.
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 22:13
av Konservburk
Hans Linde skrev:det låser sig alltid, när reglaget på listen släpps.
Jag kan inte komma på varför... för mig fungerar det. Du kan börja med att försöka byta ut första raden från "#!/bin/sh" till "#!/bin/bash", men jag tvivlar på att det hjälper

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 22:19
av Hans Linde
eller uninstall:
Spelar det någon roll om kommandot är
~/bin/talsyntes.sh
eller
~/bin/talsyntes.sh install
??
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 22:22
av Hans Linde
Nej, låsningen inträffar iaf.
Installation gjordes med:
~/bin/talsyntes.sh install
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 15 okt 2008, 22:24
av Hans Linde
Vill du ha något mera "snabb-test" gjord, annars tar jag kväll?
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 16 okt 2008, 14:25
av Konservburk
Hans Linde skrev:Spelar det någon roll om kommandot är
~/bin/talsyntes.sh
eller
~/bin/talsyntes.sh install
??
~/bin/talsyntes.sh kör
~/bin/talsyntes.sh start ifall den hittar någon röst som funkar, annars kör den
~/bin/talsyntes.sh install istället. Om du redan har en fungerande röst, men vill installera fler, eller vill att tangentbindningarna ska uppdateras, då är det
~/bin/talsyntes.sh install som gäller.
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 16 okt 2008, 14:29
av Konservburk
Hans Linde skrev:Nej, låsningen inträffar iaf.
Eftersom vi vet var det låser sig så kan vi testa den delen av koden löst. Då kan jag förhoppningsvis förstå hur den bör modifieras för att undvika låsning.
Test1:
Test2:
Kod: Markera allt
zenity --scale --print-partial | while read i; do echo $i; done
Test3:
Kod: Markera allt
{ zenity --scale --print-partial || echo nej; } | while read i; do echo $i; done
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 16 okt 2008, 14:34
av Konservburk
Bara som en förvarning så att du inte tror att tråden helt plötsligt har försvunnit... som vän av ordning funderar jag på om det inte är bäst att slå ihop båda talsyntes-trådarna och flytta alltihop till experimentverkstad.
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 16 okt 2008, 14:51
av Hans Linde
Bara som en förvarning så att du inte tror att tråden helt plötsligt har försvunnit... som vän av ordning funderar jag på om det inte är bäst att slå ihop båda talsyntes-trådarna och flytta alltihop till experimentverkstad.
Det låter som en bra idee.
Annars kanske alla nybörjarna börja med sådan här djupdykningar.

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 16 okt 2008, 14:54
av Hans Linde
Det funkar väl som du tänkt...?
hans@hans-ubuntu:~$ zenity --scale --print-partial
55
55
hans@hans-ubuntu:~$
hans@hans-ubuntu:~$ zenity --scale --print-partial | while read i; do echo $i; done
34
34
hans@hans-ubuntu:~$
hans@hans-ubuntu:~$ { zenity --scale --print-partial || echo nej; } | while read i; do echo $i; done
77
77
hans@hans-ubuntu:~$
hans@hans-ubuntu:~$
Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64
Postat: 16 okt 2008, 14:56
av Konservburk
Hans Linde skrev:Det funkar väl som du tänkt...?
Det verkar så. Prova även att trycka på
cancel-knappen (eller stäng fönstret med krysset).