Pokouším se dále zprovoznit diktafon pod ubuntu.
Nainstaloval jsem jsem originální software pod Wine. Software se rozjede, nicméně nemá kontakt s diktafonem. Nevidí ho.
Zkouším tedy naistalovat nejnovější verzi programu, jenž má schopnost dostat data z přehravače pod linuxem. Jmenuje se ODVR. Stáhl jsem si archiv se zdrojovými kódy: odvr-0.1.5.tar.gz. Níže jsou posané všechny mé patálie a jejich řešení při instalování ODVR ze zdrojových kódů. Program je ale možné i nainstalovat z "Centra softwaru pro Ubuntu". Nicméně zřejmě u takové instalace chybí program Sandec, jenž je nutný pro převod formátu raw, který je podle mého snad jedinou cestou jak dostat z diktafonu data na disk, v případě že máme nahrávku na diktafonu v kvalitě HQ,SP,LP (přímo z přehravače lze dostat wav jen v případě, že máme kvalitu XHQ). Postup kde získat program Sandec a jak ho používat je uveden ke konci příspěvku.
Po rozbalení souboru postupuji dle návodu
http://wiki.ubuntu.cz/Instalace%20program%C5%AF/Zdrojov%C3%A9%20k%C3%B3dy.
Když dle návodu zadám:
"./configure"
opodvěď je:
"bash: ./configure: No such file or directory"
Má doměnka je tedy, že tento adresář ani soubor tam není, tak tedy tento krok přeskočím.
zadám tedy příkaz "make"
odpověď je:
gcc -g -O2 -Wall `pkg-config gtk+-2.0 --cflags` -c -o olympusdvr.o olympusdvr.c
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
olympusdvr.c:24:21: error: sndfile.h: No such file or directory
olympusdvr.c:25:17: error: usb.h: No such file or directory[/i]
atd.
z toho rozumím, že nelze najít balík gtk+-2.O
doinstaloval jsem gtk2-devel, čím se tato hláška odstranila, nyní to však při užití "make" píše nadále:
gcc -g -O2 -Wall `pkg-config gtk+-2.0 --cflags` -c -o olympusdvr.o olympusdvr.c
olympusdvr.c:24:21: error: sndfile.h: No such file or directory
olympusdvr.c:25:17: error: usb.h: No such file or directory
olympusdvr.c: In function ‘set_error’:
olympusdvr.c:67: warning: implicit declaration of function ‘vsnprintf’
olympusdvr.c: In function ‘find_odvr’:
olympusdvr.c:89: warning: implicit declaration of function ‘usb_get_busses’
olympusdvr.c:89: warning: assignment makes pointer from integer without a cast
olympusdvr.c:89: error: dereferencing pointer to incomplete type
olympusdvr.c:90: error: dereferencing pointer to incomplete type
olympusdvr.c:90: error: dereferencing pointer to incomplete type
olympusdvr.c:91: error: dereferencing pointer to incomplete type
olympusdvr.c:92: error: dereferencing pointer to incomplete type
olympusdvr.c: In function ‘trace_hexdump’:
olympusdvr.c:104: warning: implicit declaration of function ‘fprintf’
olympusdvr.c:104: warning: incompatible implicit declaration of built-in function ‘fprintf’
olympusdvr.c:104: error: ‘stderr’ undeclared (first use in this function)
olympusdvr.c:104: error: (Each undeclared identifier is reported only once
olympusdvr.c:104: error: for each function it appears in.)
olympusdvr.c: In function ‘try_usb_bulk_write’:
olympusdvr.c:122: warning: implicit declaration of function ‘usb_bulk_write’
olympusdvr.c:129: warning: implicit declaration of function ‘usb_strerror’
olympusdvr.c: In function ‘try_usb_bulk_read’:
olympusdvr.c:144: warning: implicit declaration of function ‘usb_bulk_read’
olympusdvr.c: In function ‘odvr_open’:
olympusdvr.c:221: warning: implicit declaration of function ‘usb_init’
olympusdvr.c:222: warning: implicit declaration of function ‘usb_find_busses’
olympusdvr.c:224: warning: implicit declaration of function ‘usb_find_devices’
olympusdvr.c:228: warning: implicit declaration of function ‘usb_open’
olympusdvr.c:228: warning: assignment makes pointer from integer without a cast
olympusdvr.c:236: warning: implicit declaration of function ‘usb_claim_interface’
olympusdvr.c:239: warning: implicit declaration of function ‘usb_close’
olympusdvr.c: In function ‘odvr_close’:
olympusdvr.c:277: warning: implicit declaration of function ‘usb_reset’
olympusdvr.c: In function ‘odvr_reset’:
olympusdvr.c:309: warning: implicit declaration of function ‘usleep’
olympusdvr.c: In function ‘cmd_check’:
olympusdvr.c:342: warning: implicit declaration of function ‘usb_interrupt_read’
olympusdvr.c: In function ‘odvr_model’:
olympusdvr.c:427: warning: implicit declaration of function ‘snprintf’
olympusdvr.c:427: warning: incompatible implicit declaration of built-in function ‘snprintf’
olympusdvr.c: In function ‘odvr_quality_name’:
olympusdvr.c:611: warning: incompatible implicit declaration of built-in function ‘snprintf’
olympusdvr.c:616: warning: incompatible implicit declaration of built-in function ‘snprintf’
olympusdvr.c: In function ‘odvr_save_wav’:
olympusdvr.c:821: error: ‘SNDFILE’ undeclared (first use in this function)
olympusdvr.c:821: error: ‘out’ undeclared (first use in this function)
olympusdvr.c:822: error: ‘SF_INFO’ undeclared (first use in this function)
olympusdvr.c:822: error: expected ‘;’ before ‘out_fmt’
olympusdvr.c:833: error: ‘out_fmt’ undeclared (first use in this function)
olympusdvr.c:856: warning: implicit declaration of function ‘sf_format_check’
olympusdvr.c:862: warning: implicit declaration of function ‘sf_open_fd’
olympusdvr.c:862: error: ‘SFM_WRITE’ undeclared (first use in this function)
olympusdvr.c:872: warning: implicit declaration of function ‘sf_write_short’
olympusdvr.c:874: warning: implicit declaration of function ‘sf_close’
olympusdvr.c: In function ‘odvr_save_raw’:
olympusdvr.c:897: warning: implicit declaration of function ‘write’
make: *** [olympusdvr.o] Error 1
bylo třeba nainstalovat
libsnadfile1-dev
libusb-dev
Poté příkaz make již fungoval.
Program jsem tedy konečně nainstaloval ze zdrojových kódů.
příkaz odvr:
Failed to open Olympus device: couldn't claim interface
funguje: sudo odvr
nicméně pokud chci hudbu stáhnout příkazem sudo odvr -e
Error downloading "DD_1067_100.wav": quality unsupported on your device
Příčinou je zřejmě kvalita, ve které mám nahrávku zaznamenanou: HQ
řešením, zdá se, je stáhnout to ve formátu "raw", tedy příkazem "sudo odvr -E" (malé é stahuje wav, velké É stahuje raw).
sobory se stáhnou ve formátu raw, nicméně dle "readme" je třeba tyto soubory upravit programem "sandec"
zdrojové kódy k programu Sandec jsou rovněž u zrojových kódů ODVR - v tomtéž archivu. Nicméně nepodařilo se mi je zprovoznit. Pro jistotu uvádím mé kroky, třeba naleznete chybu, které jsem se dopustil. Dále poté uvádím možnos, kde program Sandec nalézt již vytvořený a nemusí se tedy kompilovat ze zdrojových kódů.
Zde je můj neúspěšný pokus o kompilaci Sandec:
v adresáři sandec jsou dva soubory: makefile a sandec.c
při použití příkazu "make" se objeví:
winegcc -mconsole -mno-cygwin -o sandec sandec.c
sandec.c:1:21: error: windows.h: No such file or directory
sandec.c: In function ‘main’:
sandec.c:81: error: ‘HINSTANCE’ undeclared (first use in this function)
sandec.c:81: error: (Each undeclared identifier is reported only once
sandec.c:81: error: for each function it appears in.)
sandec.c:81: error: expected ‘;’ before ‘hLibrary’
sandec.c:82: error: ‘hLibrary’ undeclared (first use in this function)
sandec.c:115: error: ‘O_BINARY’ undeclared (first use in this function)
sandec.c:158: warning: incompatible implicit declaration of built-in function ‘strncpy’
sandec.c:161: warning: incompatible implicit declaration of built-in function ‘strlen’
winegcc: i486-linux-gnu-gcc failed
make: *** [sandec] Error 2
je třeba doinstalovat:
wine-dev
nyní se po zadání "make" napíše:
winegcc -mconsole -mno-cygwin -o sandec sandec.c
tímto se v adresáři vytvořily tyto soubory:
sandec.exe
sandec.exe.co
description-pak
když ale napíši: "wine sandec.exe", tak to napíše:
wine: Bad EXE format for C:\Program Files\sandec\sandec.exe
Kde je chyba nevím.
Naštěstí jsem našel archiv, který obsahuje již "hotové" soubory programu Sandec spustitelné pod wine bez problémů.
Odkaz na program se nachází na této stránce:
http://code.google.com/p/odvr/issues/detail?id=6Jmenuje se: odvr-raw.tar.gz
Nyní se jednotlivé soubory raw pomocí programu Sandec převedou na wav.
příkaz:
wine sandec.exe "jméno souboru"
Pokud je souborů hodně a psaní jednotlivých příkazů by bylo zdlouhavé, používám tento způsob:
Dám si do schránky názvy mých "raw" souborů i s cestou. K tomu použiji Nautilus.
V nautilusu dám CTRL+A. A poté CRTL+C
nyní si pustím "oppenoffice.org - tabulky"
do první buňky napíši příkaz: "win sandec.exe"
Poté kliknu do druhé buňky prvního řádku a dám CTRL+V
vrátím se do první buňky a tahem rozmnožím příkaz "win sandec.exe" do celého sloupce, aby paralerně odpovídal počtu souborů "raw"
v adresáři, kde mám program sandec.exe, si vytvořím textový soubor "libovolnýnázev.sh" (aby končil, koncovkou .sh)
všechny buňky z tabulkového programu zkopíruji do mého "libovolnýnázev.sh"
soubor uložím
a nyní v terminále napíši:
bash "libovolnýnázev.sh"
mně to poté píše:
fixme:msvcrt:MSVCRT__sopen : pmode 0x0027 ignored
co to znamená nevím, nicméně svoji práci to i tak odvede
tímto se všechny formáty "raw" převedou skupinově na "wav"
wav i raw jsou v jediném adresáři
nyní si vytvořím adresář, kam přesunu pouze "wav" soubory (dejme tomu, bude to na ploše a bude se jmenovat "radost")
poté si v terminále otevřu adresář, kde mám soubory "raw" a "wav"
příkazem přesunu všechny wav soubory do tohoto adresáře:
mv *.wav ~/Plocha/radost
poté normálně v nautilusu smaži všechny soboury raw i s adresářem
Výsledek: mám sobory wav :-)
Díky Bohu :-)
Pokud někdo ví jednodušší cestu, rád se ji dozvím :-)