abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 16
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Kompilace vlastních zvukových modulů

2.12.2010 18:15 DWD | skóre: 16 | blog: papiry
Kompilace vlastních zvukových modulů
Přečteno: 214×

Slyšel jsem, že programování pluginů není tak složité, jak napsat celý program. Proto bych si chtěl vyzkoušet programování pluginů pro zvukové aplikace. Stáhnul jsem si zdrojový kód swh-plugins abych si prohlédl, jak jsou napsané zdrojové kódy. Brzy se pokusím nějaký ten plugin vytvořit a přidat tam, nebo upravit některý existující. Potom bych výsledek zkompiloval a nainstaloval.

Ale o co se mi jedná: Když vyrobím nebo upravím jeden plugin, nechce se mi pokaždé odinstalovávat celý swh-plugins - všechny jeho součásti a potom kompilovat celý swh-plugins znovu a to celé instalovat znovu, kvůli jednomu pluginu. Celou tu odinstalaci a kompilaci a instalaci bych musel dělat poměrně často, protože bych asi víckrát chtěl napsat nový plugin nebo vylepšit plugin, který jsem vyrobil. Já bych si představoval, jestli by to nešlo jednotlivě: Nejdříve si nainstaluji swh-plugins (ať už balíčkem nebo ze zdrojového kódu). Jak napíšu nebo předělám jeden plugin, zkompiluji ho jednoduchým příkazem, jako je cc zdrojovykod -o nazevbinarnihosouboru a nakonec nainstaluji a vyzkouším. Šlo by to tak jednotlivě dělat? A ten příkaz pro překlad je dobrý? Binární soubor totíž bude muset mít příponu .so, takže to bude něco jak sdílená knihovna.

Svůj zdrojový kód bych pravděpodobně musel mít umístěný ve složce se zdrojovými kódy ostatních pluginů, které jsem si stáhnul, čili v tom rozbaleném archivu a teprve potom zkompilovat tak, že příkaz pro zkompilování zadám v tomto adresáři. Je to tak? To proto, že v tom adresáři jsou zřejmě i soubory různých funkcí, knihoven, hlavičkové soubory a podobně, a z řádků #include "něco" , které jsem zahlédl u zdrojových kódů některých pluginů, vidím, že mají za úkol zpřístupnit některé soubory z te složky.

Když budu mít svůj plugin přeložený a budu ho chtít vyzkoušet, mělo by ho stačit jednoduše nainstalovat tak, že vzniklý binární soubor nakopíruji do vhodného adresáře, zřejmě do /usr/lib/ladspa. Je to pravda? A je to všechno?

Mám nainstalovaný swh-plugins pomocí balíčků a podíval jsem se, jaké soubory a jejich umístění mi vypisuje správce balíčků v podrobnostech:

SOUBORY:
        ‎/usr/lib/ladspa/alias_1407.so
        ‎/usr/lib/ladspa/allpass_1895.so
        ‎/usr/lib/ladspa/am_pitchshift_1433.so
        ‎/usr/lib/ladspa/amp_1181.so
        ‎/usr/lib/ladspa/analogue_osc_1416.so
        ‎/usr/lib/ladspa/bandpass_a_iir_1893.so
        ‎/usr/lib/ladspa/bandpass_iir_1892.so
        ‎/usr/lib/ladspa/bode_shifter_1431.so
        ‎/usr/lib/ladspa/bode_shifter_cv_1432.so
        ‎/usr/lib/ladspa/butterworth_1902.so
        ‎/usr/lib/ladspa/chebstortion_1430.so
        ‎/usr/lib/ladspa/comb_1190.so
        ‎/usr/lib/ladspa/comb_1887.so
        ‎/usr/lib/ladspa/comb_splitter_1411.so
        ‎/usr/lib/ladspa/const_1909.so
        ‎/usr/lib/ladspa/crossover_dist_1404.so
        ‎/usr/lib/ladspa/dc_remove_1207.so
        ‎/usr/lib/ladspa/decay_1886.so
        ‎/usr/lib/ladspa/decimator_1202.so
        ‎/usr/lib/ladspa/declip_1195.so
        ‎/usr/lib/ladspa/delay_1898.so
        ‎/usr/lib/ladspa/delayorama_1402.so
        ‎/usr/lib/ladspa/diode_1185.so
        ‎/usr/lib/ladspa/divider_1186.so
        ‎/usr/lib/ladspa/dj_eq_1901.so
        ‎/usr/lib/ladspa/dj_flanger_1438.so
        ‎/usr/lib/ladspa/dyson_compress_1403.so
        ‎/usr/lib/ladspa/fad_delay_1192.so
        ‎/usr/lib/ladspa/fast_lookahead_limiter_1913.so
        ‎/usr/lib/ladspa/flanger_1191.so
        ‎/usr/lib/ladspa/fm_osc_1415.so
        ‎/usr/lib/ladspa/foldover_1213.so
        ‎/usr/lib/ladspa/foverdrive_1196.so
        ‎/usr/lib/ladspa/freq_tracker_1418.so
        ‎/usr/lib/ladspa/gate_1410.so
        ‎/usr/lib/ladspa/giant_flange_1437.so
        ‎/usr/lib/ladspa/gong_1424.so
        ‎/usr/lib/ladspa/gong_beater_1439.so
        ‎/usr/lib/ladspa/gsm_1215.so
        ‎/usr/lib/ladspa/gverb_1216.so
        ‎/usr/lib/ladspa/hard_limiter_1413.so
        ‎/usr/lib/ladspa/harmonic_gen_1220.so
        ‎/usr/lib/ladspa/hermes_filter_1200.so
        ‎/usr/lib/ladspa/highpass_iir_1890.so
        ‎/usr/lib/ladspa/hilbert_1440.so
        ‎/usr/lib/ladspa/imp_1199.so
        ‎/usr/lib/ladspa/impulse_1885.so
        ‎/usr/lib/ladspa/inv_1429.so
        ‎/usr/lib/ladspa/karaoke_1409.so
        ‎/usr/lib/ladspa/latency_1914.so
        ‎/usr/lib/ladspa/lcr_delay_1436.so
        ‎/usr/lib/ladspa/lowpass_iir_1891.so
        ‎/usr/lib/ladspa/ls_filter_1908.so
        ‎/usr/lib/ladspa/matrix_ms_st_1421.so
        ‎/usr/lib/ladspa/matrix_spatialiser_1422.so
        ‎/usr/lib/ladspa/matrix_st_ms_1420.so
        ‎/usr/lib/ladspa/mbeq_1197.so
        ‎/usr/lib/ladspa/mod_delay_1419.so
        ‎/usr/lib/ladspa/multivoice_chorus_1201.so
        ‎/usr/lib/ladspa/notch_iir_1894.so
        ‎/usr/lib/ladspa/phasers_1217.so
        ‎/usr/lib/ladspa/pitch_scale_1193.so
        ‎/usr/lib/ladspa/pitch_scale_1194.so
        ‎/usr/lib/ladspa/plate_1423.so
        ‎/usr/lib/ladspa/pointer_cast_1910.so
        ‎/usr/lib/ladspa/rate_shifter_1417.so
        ‎/usr/lib/ladspa/retro_flange_1208.so
        ‎/usr/lib/ladspa/revdelay_1605.so
        ‎/usr/lib/ladspa/ringmod_1188.so
        ‎/usr/lib/ladspa/satan_maximiser_1408.so
        ‎/usr/lib/ladspa/sc1_1425.so
        ‎/usr/lib/ladspa/sc2_1426.so
        ‎/usr/lib/ladspa/sc3_1427.so
        ‎/usr/lib/ladspa/sc4_1882.so
        ‎/usr/lib/ladspa/sc4m_1916.so
        ‎/usr/lib/ladspa/se4_1883.so
        ‎/usr/lib/ladspa/shaper_1187.so
        ‎/usr/lib/ladspa/sifter_1210.so
        ‎/usr/lib/ladspa/sin_cos_1881.so
        ‎/usr/lib/ladspa/single_para_1203.so
        ‎/usr/lib/ladspa/sinus_wavewrapper_1198.so
        ‎/usr/lib/ladspa/smooth_decimate_1414.so
        ‎/usr/lib/ladspa/split_1406.so
        ‎/usr/lib/ladspa/step_muxer_1212.so
        ‎/usr/lib/ladspa/surround_encoder_1401.so
        ‎/usr/lib/ladspa/svf_1214.so
        ‎/usr/lib/ladspa/tape_delay_1211.so
        ‎/usr/lib/ladspa/transient_1206.so
        ‎/usr/lib/ladspa/triple_para_1204.so
        ‎/usr/lib/ladspa/valve_1209.so
        ‎/usr/lib/ladspa/valve_rect_1405.so
        ‎/usr/lib/ladspa/vynil_1905.so
        ‎/usr/lib/ladspa/wave_terrain_1412.so
        ‎/usr/lib/ladspa/xfade_1915.so
        ‎/usr/lib/ladspa/zm1_1428.so
        ‎/usr/share/doc/swh-plugins-0.4.15
        ‎/usr/share/doc/swh-plugins-0.4.15/AUTHORS
        ‎/usr/share/doc/swh-plugins-0.4.15/ChangeLog
        ‎/usr/share/doc/swh-plugins-0.4.15/README
        ‎/usr/share/ladspa
        ‎/usr/share/ladspa/rdf
        ‎/usr/share/ladspa/rdf/swh-aux.rdf
        ‎/usr/share/ladspa/rdf/swh-plugins.rdf
        ‎/usr/share/ladspa/rdf/swh-scales.rdf
        ‎/usr/share/locale/en_GB/LC_MESSAGES/swh-plugins.mo
Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.

Odpovědi

Pavel Stárek avatar 3.12.2010 11:55 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
No, pokud máš tu knihovnu ladspa nainstalovanou pomocí balíčkovacího nástroje své distribuce, tak by měl existovat i devel balíček (například ve Fedoře se jmenuje ladspa-devel) pomocí něhož by měli jít kompilovat další pluginy. Takže by nemělo být potřeba to neustále přeinstalovávat a kompilovat. A pokud budeš upravovat nějaký existující plugin, tak by bylo dobré ho přejmenovat tak, aby výsledný *.so soubor nekolidoval s již existujícím pluginem - toto se nejspíš provede úpravou příslušného Makefile u patřičného pluginu.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
3.12.2010 16:49 DWD | skóre: 16 | blog: papiry
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů

Pro LADSPA mám možnost nainstalovat i ladspa-devel. Ale pro swh-plugins nemám balík swh-plugins-devel. Jestli to nebude vadit. Jinak je zajímavé, že swh-plugins mi fungoval, i přesto, že jsem neměl vůbec nainstalované LADSPA, LADSPA jsem si doinstaloval později. A přesto swh-plugins a LADSPA spolu zřejmě souvisí.

Co se týká kompilace vlastního modulu. Je pravda, že ten zdrojový kód vlastního modulu budu muset umístit do rozbaleného tarbalu swh-plugins, aby byl přístup k některýmostatním souborům při kompilaci? A budu muset používat kompletní trojkombinaci, jako je ./configure, make, make install, nebo bude stačit jednodužší příkaz, ale jaký?

Jak modul nainstalovat: Bude stačit pro instalaci jednotlivého modulu jenom nakopírovat vzniklý binární soubor *.so do /usr/lib/ladspa?

Aby se název mého modulu nekolidoval s názvy ostatních modulů. Myslel jsem, že se to nastavuje někde v tom zdrojovém kódu modulu a nakonec pojmenováním binárního souboru. Nevěděl jsem, že se ještě musí upravit Makefile.

Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.
Pavel Stárek avatar 3.12.2010 21:58 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
Pro LADSPA mám možnost nainstalovat i ladspa-devel. Ale pro swh-plugins nemám balík swh-plugins-devel. Jestli to nebude vadit.
Vadit by to asi nemělo.
Jinak je zajímavé, že swh-plugins mi fungoval, i přesto, že jsem neměl vůbec nainstalované LADSPA, LADSPA jsem si doinstaloval později.
Nevím co máš za distribuci, ale třeba ve Fedoře se instaluje i ladspa (swh-plugins na balíčku ladspa závisí). Ovšem ten balíček ladspa ve Fedoře obsahuje pouze:
usr/bin/analyseplugin
/usr/bin/applyplugin
/usr/bin/listplugins
/usr/lib/ladspa/amp.so
/usr/lib/ladspa/delay.so
/usr/lib/ladspa/filter.so
/usr/lib/ladspa/noise.so
/usr/lib/ladspa/sine.so
/usr/share/doc/ladspa-1.13/COPYING
není v něm žádná sdílená knihovna, pouze nějaké pluginy. Takže proto u tebe ty swh-pluginy fungovaly.

K tomu zbytku, doporučuji stáhnout a prozkoumat ladspa_sdk, kde je dokumentace a příklady (jak pluginů, tak něčeho co je používá). Makefile se používat nemusí, klidně můžeš použít (pokud je plugin v čistém C, ne v C++):
gcc -shared mujplugin.c -o mujplugin.so
a pak si ho nakopírovat do /usr/lib/ladspa . Ovšem jen letmo jsem koukal do těch dokumentací a každý ladspa plugin by měl mít nějaké unikátní ID. Ale to si budeš muset vyčíst v tom SDK.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
4.12.2010 11:09 DWD | skóre: 16 | blog: papiry
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů

Používám distribuci Mandriva Linux 2008.0. V této distribuci balíky swh-plugins a ladspa na sobě nezávisí. Mám vyzkoušené, že můžu mít nainstalované obě věci nebo kteroukoliv jednu samostatně. Když jsem měl nainstalované jenom ladspa, tak mi přibylo tolik modulů v těchto programech: V Audacity nepřibylo nic, v Rezound přibylo kolem deseti a v Jack-Rack přibylo kolem deseti modulů. Když jsem měl nainstalované jenom swh-plugins, tak mi přibylo tolik modulů: V Audacity kolem sto modulů, v Rezound kolem sto modulů, v Jack-Rack kolem sto modulů. Teď, když mám nainstalované i swh-plugins, i ladspa, mám v těch programech o něco víc modulů, než jenom ze swh-plugins, takže každý balík přidává svoje moduly.

Připadá mi divné, že soubory všech modulů mají v názvu příponu so, když to ve skutečnosti nejsou sdílené (ani nesdílené) knihovny, ale moduly.

Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.
4.12.2010 13:38 DWD | skóre: 16 | blog: papiry
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
Překlady jednotlivých souborů ze zdrojového swh-plugins mi nefunguje. Zkusil jsem si vybrat jeden modul (zatím jsem nic neupravoval) a zadalgcc mbeq_1197.c -o mujplugin.so a pendrek funguje, protože se hlásí
[david@localhost swh-plugins-0.4.15]$ gcc mbeq_1197.c -o mujplugin.so
mbeq_1197.xml: In function ‘_init’:
mbeq_1197.xml:217: error: ‘LC_ALL’ undeclared (first use in this function)
mbeq_1197.xml:217: error: (Each undeclared identifier is reported only once
mbeq_1197.xml:217: error: for each function it appears in.)
Navíc každý ten modul je v tom rozbaleném tarballu třikrát: *.c, *so.c, *.xml. Takže ani nevím, který mám přeložit, ale podle mě bych měl přeložit *.c a ty další si to už mělo vzít samo a měl vzniknout jeden *.so. Nevznikl ale.

Potom jsem to zkusil pomoci ./configure a make, což nechci. Nejdříve ani to nešlo a hlásilo chyby. Když jsem potom doinstaloval balík libfftw2-devel-2.1.5-12mdv2008.0.i586 (což se mi taky nelíbí, abych pořád něco musel doinstalovávat. Jako by nestačilo mít základní nástroje pro kompilaci) a zkusil jsem ./configure znovu, chyby zmizely a mohl jsem jít na make. Žádné binární soubory typu *.so, na které čekám, se neobjevily. Objevily se nanejvýš objektové kódy *.o a to zabalené i nezabalené. make install už vůbec nechci používat, protože balík swh-plugins už mám nainstalovaný a odebírat ho nechci a už vůbec nechci celé odebírat a instalovat celé znovu, kvůli jednotlivému modulu, který si občas vyrobím nebo vylepším.

Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.
Pavel Stárek avatar 4.12.2010 14:32 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
No, kompilace samotného jednoho modulu asi takhle nepůjde. Pokud ovšem autoři swh-pluginů nenapsali Makefile, kterým by to šlo třeba takto:
make NejakyModul
Když jsem potom doinstaloval balík libfftw2-devel-2.1.5-12mdv2008.0.i586 (což se mi taky nelíbí, abych pořád něco musel doinstalovávat. Jako by nestačilo mít základní nástroje pro kompilaci)
Líbí nelíbí prostě to tak je, některý z modulů potřeboval funkce z libfftw2 a k tomu je potřeba devel balíček.

Nevím co bych ti ještě poradil, asi spíš pouze nastudování vývojových nástrojů které se používají ve světě GNU software: GNU build system

Kdo chce, hledá způsob; kdo nechce, hledá důvod.
Pavel Stárek avatar 4.12.2010 14:08 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
Přípona so znamená Shared Object a nutně to nemusí být jen sdílené knihovny ale i, jak si správně napsal moduly, a programy tyto moduly můžou používat (respektive funkce v nich obsažené) pomocí funkcí dlopen(),dlclose().

Kdo chce, hledá způsob; kdo nechce, hledá důvod.
4.12.2010 16:25 DWD | skóre: 16 | blog: papiry
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů

Prozradím, o co jsem se pro začátek pokoušel: Jak je v tom swh-plugins ten multiband ekvalizer, nelíbilo se mi, jak má navrhnuté kmitočty: Jaký je zvolený nejnižší a nejvyšší kmitočet regulátoru a taky to, že poměr mezi jednotlivými kmitočty není stejný - někde je dvojnásobek, někde jeden a půl násobek atd. Původní kmitočty byly 50, 100, 156, 220, 311, 440, 622, 880, 1250, 1750, 2500, 3500, 5000, 10000, 20000. Já jsem to předělal na 40.00, 60.00, 90.00, 135.00, 205.00, 308.00, 462.00, 693.00, 1040.00, 1559.00, 2339.00, 3555.00, 5533.00, 8000.00, 12000.00. Funguje to, opravdu to podle toho zní. Úprava nebyla těžká. Ve všech třech zdrojových souborech, začínající mbeq stačilo všude přepsat hodnoty kmitočtů (vyskytuje se to na více místech).

Jednotlivý modul se mi však přeložit nepovedl, nevím proč nebo jak jsem to měl udělat. Nezbývalo mi nic jiného, než balík swh-plugins odinstalovat a potom jsem musel přeložit komplet a použít obvyklé ./configure, make a make install. Aby nebyly do budoucna problémy s tím, že balíčkovač o nainstalovaném programu neví, chtěl jsem místo make install použít checkinstall. Ten však zkončil chybou a nic nenainstaloval, tak jsem nakonec musel použít make install. Teď nevím, jestli nebude problém, když si v swh-plugins zase něco vylepším a budu muset swh-plugins nejdříve odinstalovat, než nainstaluji další vylepšený. Nebo můžu mít problém, když budu potřebovat nainstalovat program, který na swh-plugins závisí; jednalo by se o problém, že balíčkovač o swh-plugins neví a bude si myslet, že závislost není splněná a přitom bude a proto nepůjde znovu splnit.

Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.
Pavel Stárek avatar 4.12.2010 18:53 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
Teď nevím, jestli nebude problém, když si v swh-plugins zase něco vylepším a budu muset swh-plugins nejdříve odinstalovat, než nainstaluji další vylepšený.
Pokud je Makefile napsaný slušně, neprasácky, mělo by rovněž fungovat make uninstall. Ale make install to přepíše, takže v tom bych problém neviděl (ovšem je to takové prasení).
Nebo můžu mít problém, když budu potřebovat nainstalovat program, který na swh-plugins závisí; jednalo by se o problém, že balíčkovač o swh-plugins neví a bude si myslet, že závislost není splněná a přitom bude a proto nepůjde znovu splnit.
Nejen to, on ji splní tím, že nainstaluje balíček z repozitáře, čímž ti přepíše tvoji vylepšenou verzi. Asi by stálo za to si zde přečíst seriál Rukověť baliče RPM, stáhnout si zdrojový balíček, a přebalit ho (no to je slovo :-) ) s tvými úpravami. Samozřejmě rpm balíčky jdou instalovat i ručně bez kontrol závislostí (rpm -Uvh --nodeps --force balicek.rpm), ovšem to je opět prasení.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
5.12.2010 11:03 DWD | skóre: 16 | blog: papiry
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů

Příště, až si budu vylepšovat něco v swh-plugins, budu chytřejší. Použiju zdrojový balík swh-plugins, ve zdrojovém kódu, obsaženém v tom balíku, udělám ty svoje vylepšení a potom ze zdrojového balíku udělám hotový balík a ten bych nainstaloval pomoci baličkovače.

Teď mě napadá další věc: Když už budu mít balík swh-plugins nainstalovaný a potom si vezmu zdrojový balík, udělám v něm svoje vylepšení, udělám hotový balík, tak možná nebudu muset odinstalovat starý balík swh-plugins a celý nový balík swh-plugins instalovat. Možná bude stačit ten starý balík nechat nainstalovaný, ten nový vyrobený balík rozbalit, z něj vybrat soubor mujplugin.so, ten nakopírovat do ‎/usr/lib/ladspa a už by to mělo fungovat.

Asi si nebudu moct ve swh-plugins dělat úplně neomezeně jakékoliv vylepšení, protože jestli některý program používá swh-plugins jako závislost, mohly by některé změny vadit: U některých programů bych si něco vylepšil, zatímco jiné programy bych zneprovoznil. Jak jsou ty závislosti praktické. To říkám pořád. Zachránit by se to ještě dalo: Musím omezit úpravování existujících modulů a místo toho vyrábět raději vlastní moduly, ikdyž je potom přidám do swh-plugins.

Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.
5.12.2010 13:51 DWD | skóre: 16 | blog: papiry
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
Už jsem to vyzkoušel: Uvedl jsem instalaci do původního stavu, takže swh-plugins mám nainstalované normálním balíkem swh-plugins z repozitářů a funguje. Potom jsem si stáhnul zdrojový balík, ve zdrojovém balíku upravil mudul multiband eqalizer, tak jak předtím, potom jsem vyrobil z toho zdrojového balíku hotový balík, ten hotový balík rozbalil, vybral z něj soubor .so s upraveným modulem, ten jsem přejmenoval, aby se odlišil od původního, nakopíroval ho do ‎/usr/lib/ladspa mezi ostatní moduly *so. Když potom spustím Jack-Rack nebo Audacity nebo Rezound, tak žádný z těch programů můj nový modul nenačte, načte jenom ty, které už tam byly.
Jsem kretén, který ví lautr hovno o Linuxu a o počítačích vůbec.
Pavel Stárek avatar 5.12.2010 18:25 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Kompilace vlastních zvukových modulů
O kus výše v této diskuzi jsem psal:
Ovšem jen letmo jsem koukal do těch dokumentací a každý ladspa plugin by měl mít nějaké unikátní ID. Ale to si budeš muset vyčíst v tom SDK.
Zřejmě proto ten tvůj upravený plugin ty aplikace nevidí. Ale v této diskuzi už končím, protože evidentně ignoruješ dobře míněné rady a sice:

1. - nastudovat LADSPA SDK a příslušnou dokumentaci a plugin překompilovat samostatně, nebo

2. - zabalit si vlastní RPM balíček se svojí úpravou

a proto končím se slovy klasika v jedné divadelní hře: To nemá cenu, já jedu domů.

P.S. - neber to nějak ve zlém :-)

Kdo chce, hledá způsob; kdo nechce, hledá důvod.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.