krzemin
Dołączył: 22 Gru 2007 Posty: 4
Podziękował: 0 Łącznie otrzymał 0 podziękowań w 0 postach
Ostrzeżenia: 0/5
|
Wysłany: Sob Gru 22, 2007 11:37 Temat postu: Skrypt do integracji z KDE |
|
|
Witam, jestem tu nowy, ale chciałbym się z Wami podzielić małym skryptem, który trochę ułatwia korzystanie z NAPI pod WINE, gdy uzywamy KDE. Może się komuś przyda. Komunikaty generowane po angielsku, ale to chyba nikomu nie będzie przeszkadzało, a jeśli tak, to niech sobie przetłumaczy ;]
Ciach:
Kod: |
#!/bin/bash
# sciezka do programu kdialog
DIALOG=/usr/bin/kdialog
# sciezka do wine
WINE=/usr/bin/wine
# sciezka do wykonywalki programu napi projekt
NAPI=/media/sda7/Programy/NapiProjekt/napisy.exe
# dysk wine zawierajacy nasza partycje root /
WINE_ROOT_DIR=Z:
# pobieramy pelna sciezke pliku
function fullPath {
_old_pwd=`pwd`
_file_dir=`dirname "$1"`
cd $_file_dir
_file_dir=`pwd`
_file_base=`basename "$1"`
cd $_old_pwd
echo "$_file_dir/$_file_base"
}
# ustalamy pelna sciezke pliku podanego jako parametr
movie=`fullPath $1`
# jesli plik nie zostal podany (lub nie istnieje), pytamy uzytkownika
# aby wskazal plik wlasnorecznie
if [ ! -f "$movie" ]; then
$DIALOG --msgbox "You have not passed filename via command line. Select it after clicking OK."
movie=`$DIALOG --getopenfilename .`
fi
# jesli nadal plik nie istnieje, wyswietlamy blad i konczymy skrypt
if [ ! -f "$movie" ]; then
$DIALOG --error "Bad filename: '$1'!"
exit 1
fi
# zamieniamy znaki / na \ w sciezce do pliku
path_movie=`echo "$movie" | replace '/' '\\'`
# kilka informacji diagnostycznych
echo "Base file is '$movie'"
echo "Wine path is '$WINE_ROOT_DIR$path_movie'"
echo "Searching subtitles for $WINE_ROOT_DIR$path_movie..."
# wykonujemy napi projekt poprzez wine
$WINE $NAPI $WINE_ROOT_DIR$path_movie
# konstruujemy nazwe pliku z napisami
path_subtitles="${movie%.*}.txt"
echo "Subtitle file is $path_subtitles"
# wyswietlamy rezultat dzialania skryptu
if [ -f "$path_subtitles" ]; then
$DIALOG --msgbox "Subtitles matched for '$movie'"
else
$DIALOG --error "Subtitles has not matched for '$movie'!"
fi
|
Wymagania: skonfigurowane wine, kdialog, zainstalowany napi-projekt.
Większośc zainteresowanych będzie pewnie wiedziała jak ze skryptu korzystać, ale mimo wszystko mały help może się komuś przydać:
* Na początek musimy ustawić swoje ścieżki do odpowiednich proramów:
DIALOG=/usr/bin/kdialog
WINE=/usr/bin/wine
NAPI=/media/sda7/Programy/NapiProjekt/napisy.exe
WINE_ROOT_DIR=Z:
DIALOG, WINE i WINE_ROOT_DIR w większości instalacji będą wyglądały tak, jak tutaj, jednak radze się upewnić. Koniecznie musimy ustawić zmienną NAPI. Jesli nie wiemy co ustawić w WINE_ROOT_DIR, odpalamy winecfg i tam na zakładce "Dyski" sprawdzamy jaka litera dysku ma przyporzadkowanie do głównego katalogu /.
* Treść skryptu zapisujemy do jakiegoś pliku (powiedzmy /usr/local/bin/match_subtitles.sh ale równie dobrze może być gdzieś w katalogu domowym)
* Nadajemy plikowi atrybut wykonywalności: chmod +x /usr/local/bin/match_subtitles.sh
* Otwieramy przeglądarkę plików w KDE (konqueror albo dolphin) i biegniemy do jakiegoś pliku avi (albo innego, dla jakiego chcemy mieć obsługę dopasowywania napisów)
* Klikamy PPM na pliku avi -> wybieramy Właściwości
* Obok wpisu "Typ: film w formacie..." powinien być przycisk z narzędziem, klikamy na niego
* Na zakładce ogólne, w "Hierarchia programów" klikamy "Dodaj"
* W kolejnym okienku wskazujemy nasz plik ze skryptem (np. /usr/local/bin/match_subtitles.sh) i dajemy OK
* W Hierarchii programów przesuwamy match_subtitles.sh
* W tym momencie dopasowywanie napisów powinno działać, ale jeśli chcemy nadać akcji jakiś tytuł, to klikamy "Zmień" i na zakładce "Ogólne" możemy wpisać jakiś tytuł, np. "Dopasuj napisy" i ew. wybrać jakąś ikonę
* Jeśli chcemy widzieć wszelkie wyjście programu (przydatne, gdyby cos nie zadziałało), możemy zaznaczyć, aby uruchamiał się w terminalu (na zakładce Program -> Zaawansowane opcje)
Teraz po kliknięciu na plik avi PPM, wybieramy "Otwórz w..." i mamy "Dopasuj napisy" (albo match_subtitles.sh, jeśli nie nazwaliśmy akcji). |
|