Používám Mandriva Linux 2008.0. A používám swh-plugins (verze swh-plugins-0.4.15), který využívám v Audacity, Jack-rack a dalších programech. Mezi těmi pluginy je i Multiband ekvalizer. Je patnácti pásmový a má tyto kmitočty regulátorů: 50, 100, 156, 220, 311, 440, 622, 880, 1250, 1750, 2500, 3500, 5000, 10000, 20000. Takové rozdělení kmitočtů mi moc nevyhovuje, protože není stejnoměrně (není stejný násobek mezi jednotlivými kmitočty) a taky jinak by se hodilo navrhnout lepší kmitočty. Navrhnul jsem tyto kmitočty: 40, 60, 90, 135, 205, 308, 462, 693, 1040, 1559, 2339, 3555, 5533, 8000, 12000. Potom jsem to uskutečnil takto: Původní balík swh-plugins jsem odinstaloval a stáhnul jsem si zdrojový kód swh-plugins, který si upravím, nakompiluji a nainstaluji. Stáhnul jsem si swh-plugins-0.4.15.tar.gz ze http://plugin.org.uk/releases/0.4.15/. Potom jsem ten tarball rozbalil. Potom jsem začal upravovat kmitočty: V souborech mbeq_1197.c, mbeq_1197.so.c, mbeq_1197.xml, jsem si prošel celý text a všude, kde byly hodnoty těch kmitočtů, jsem ty čísla přepsal podle svých navržených kmitočtů. Nic jiného jsem nepřepisoval. Potom jsem celý swh-plugins zkompiloval a nainstaloval. Vyzkoušel jsem různé programy na zpracování zvuku, které spolupracují se swh-pluginami a zjistil jsem, že všechny pluginy fungují, jak mají, dokonce i upravený Multiband ekvalizer funguje a dokonce je slyšet, jak hýbu páčkami, že se reguluje podle nově vytvořených kmitočtů. Je tady ale jeden háček: Nefunguje páčka pro to nejnižší pásmo (40 hz). Ikdyž s ni hýbu, jak chci, nereaguje to a zvuk je pořád stejný. Abych se přesvědčil, že se nepletu při poslechu, tak jsem ekvalizer vyzkoušel i tak, že jsem dal všechny páčky na minimum a jednu po druhé jsem přidával na maximum a zase zpět na minimum. Všechny páčky byly slyšet, jenom ta jedna nic. Na rozsah reproduktorů do hloubky, ani na kvalitu zesilovače se vymluvit nemůžu, protože ty mají rozsah i pod 40 Hz. Nahrávku jsem schválně taky použil takovou, která obsahuje i velmi hluboké zvuky, takže ani tím se to nedá odůvodnit. Zbývá už jenom jediný možný důvod - jestli jsem neudělal překlep při úpravě zdrojového kódu, ale přesvědčil jsem se, že neudělal. Všechny upravené sopubory jsem zkontroloval. Dokonce jsem potom swh-plugins odinstaloval, a celý postup od úpravy, až po kompilaci a instalaci jsem zopakoval a na všechno si dával pozor. K žádnému překlepu proto nemohlo dojít a přesto je výsledek úplně stejný - zase nefunguje ta prví páčka pro nejnižší pásmo. V čem je problém? Že by ten multiband ekvalizer nebyl stavěný na takové úpravy? Co tomu vadí?
Příspěvky odeslané z IP adresy 62.209.230.–
dannyk: mužu poprosit o přiklad? mam to takto:
public partial class Hlavni : Form
{
Komunikace Komunikace = new Komunikace();
public Hlavni()
{
InitializeComponent();
mereni = new Mereni(this);
}
}
public class Mereni
{
Komunikace komunikace = new Komunikace();
Hlavni hlavni;
public Mereni(Hlavni p_Hlavni)
{
hlavni = p_Hlavni;
}
}
s těma souborama sem to myslel tak, když si to xml vytvařim tak se mi při ukončeni XmlCloseWrite.close() uloži xml fyzicky na disku. chtěl bych at se mi to uloži do nějake "proměne" a pak až tim SaveFileDialogem to uložit fyzicky na disk. at u toho exe souboru s programem nemam ty xml vidět. je to možne?
dannyk: vše už funguje, ještě bojuju s jednou věci.
z Hlavniho formu zavolam metodu ze třidy Ovladani kde si nastavim proměnou port ve třidě Komunikace.
pak z hlavniho formu spustim v novem vlaknu metodu ze třidy Ovladani kde pracuji se třidou Komunikace. vše funguje.
po stisknuti tlačitka ve formu si spustim dalši vlakno ve kterem volam metodu ze třidy Mereni. v teto třidě si inicializuju třidu Ovladani i třidu Komunikace. Ovšem když chci z měření přistupovat k proměné port je null.
co mam kde poslat při inicializaci? z formu posilam odkaz do třidy Mereni a ve třidě měřeni inicializuji třidu komunikace takto:
Komunikace komunikace = new Komunikace();
dale bych chtěl poradit jak pracovat s načitanim a ukladanim souboru.
v programu si generuju nějake xml do kterych ukladam data. Openfiledialog a Savefiledialog už mam, při ukladani asi obsah xml uložim přes savefiledialog, ale při otevřeni? do čeho mam obsah souboru načist?
Thread t = new Thread(Ovladani.CteniUdaju);
t.Start(this);
Error 1 The best overloaded method match for 'System.Threading.Thread.Thread(System.Threading.ThreadStart)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'method group' to 'System.Threading.ThreadStart'
dale pokud si inicializuju třidu ovladani s odkazem this musim to udělat v public Hlavni ()
public Hlavni()
{
InitializeComponent();
Ovladani Ovladani = new Ovladani(this);
}
potom se nedostanu do třidy Ovladani napřiklad z metody private void konecToolStripMenuItem_Click(object sender, EventArgs e)
tohle funguje, ja potřebuju spustit metodu CteniUdaju() v novem vlakně. nedaři se mi do vlakna dostat argumetn this a asi ještě budu potřebovat nějakou upravu abych mohl měnit labely z jineho vlakna než ve kterem byly vytvořeny.
public partial class Hlavni : Form
{
public Hlavni()
{
InitializeComponent();
Ovladani Ovladani = new Ovladani(this);
Thread t = new Thread( Ovladani.CteniUdaju);
t.Start();
}
public class Ovladani
{
public Ovladani(Hlavni form)
{
}
public void CteniUdaju(Hlavni hlavni)
{
hlavni.labelTlak.text = tlak;
}
}
prosim o radu jak změnit label.Text z jiné třidy.
mám form Hlavni.cs kde mam vložene nějake labely. po inicializaci tohoto formu si vytvořim a spustim vlakno ktere mi zavola metodu CteniUdaju() ze třidy Ovladani.cs
z teto metody CteniUdaju() nemam přistup k labelu z Hlavni.cs proto sem chtěl provest ve třidě Ovladani.cs
Hlavni hlavni= new Hlavni();
ovšem po tomhle když mou aplikaci pustim objevi se chyba přetečeni zasobniku při vytvařeni některych labelu.
jak se dostanu tedy k mym labelum z formu z jine třidy?