Oznámení

Sbalit
Aktuálně žádná oznámení.

Ghh

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

  • ghh
    odpověděl
    Dva z grafickejch karet a jeden je vlasně jen výstup z DraCoMotion (VLabMotion). Ještě je tam FBAS a RGB výstup a tři volný Zorro sloty. Teoreticky bych mohl připojit 8 monitorů k jednomu počítači
    Nevim jak by se to chovalo kdyby tam byly dvě stejný gr. karty. Co by muselo bejt v Devs:Monitors.

    Vložit komentář:


  • Doda
    odpověděl
    Jako ze mas u jednoho Draka tri monitory?

    Vložit komentář:


  • sailor
    odpověděl
    Krása!

    Vložit komentář:


  • ghh
    odpověděl
    Trimonitor
    Včera jsem si pěkně pohrál s DraCo. Přidal jsem ještě jednu grafickou kartu (Cvision64/3D vlevo), Workbench naběhne na první kartě (Altais vpravo) a na druhym monitoru je bootlogo.
    Tady je MonumentDesignerMS (vlevo) a Movieshop, úplně vpravo je video výstup z DraComotion. MonumentDesignerMS je přímo dělanej aby spolupracoval s MovieShopem, umí nahrát frejmy z MovieShopu a použít je jako pozadí atd. Celý to funguje perfektně.

    Klikni pro plné zobrazení obrázku

Jméno: dracotrimonitor.jpg
Počet zobrazení: 190
Velikost: 114,1 KB
ID: 154172

    Vložit komentář:


  • Lisiak
    odpověděl
    Tedy...

    pokud by se měl zahrát sampl správně mimo jeho začátek, co je klasika. Tak by měl být správně postup si myslím následující:

    -sampl stopneš -zapamatovat si pozici kde si stopl sampl.
    -když budeš chtít pokračovat v hraní samplu sampl zahraješ od začátku s nulovou hlasitostí
    -hlasitost vrátíš na původní v momentě zapamatované pozice kde si před tím stopl sampl

    Ano bude chvíli ticho, již zahraná část samplu se bude hrát s hlasitostí na nule. Ale při návratu na původní hlasitost by v samplu po zvukové stránce nemělo nic chybět, co není případ stavu, kdy začneš hrát sampl někde uprostřed aniž bys zahrál začátek jeho sinusového průběhu.

    Tohle vše řeší player, který v rámci hraní 1 samplu zahraje z patternu i několik řádků a sampl pořád hraje. A v rámci těch několika řádku patternu máš dalších několik cyklů samotné rutiny. Tedy sampl stopneš kdykoliv v takové rychlosti, že chtít zahrát jeho pokračování za dané situace nemá z mého pohledu moc smysl

    edit: to co jsem zde teď napsal navazuje na to co jsem psal o tom, že hodně samplů má po zvukové stránce to podstatné na jeho začátku. Tedy v některých případech by zde uvedený postup nemusel být použit. Například u samplů s relativně rovnoměrným sinusovým průběhem.
    Naposledy upravil Lisiak; 02.11.2021, 23:09:06.

    Vložit komentář:


  • Lisiak
    odpověděl
    Je třeba počítat s tím, že hodně samplů má to nejdůležitější ze zvuku na začátku, ne všechny ale hodně. Tedy pokud takový sampl budeš chtít hrát v jeho třeba 20 procentech původní délky (velikosti) tak to i tak nevydá žádný kloudný tón původního samplu.

    edit: obával bych se spíše nežádoucích ruchů ve zvuku.

    Vědět kde se nacházíš v hraní samplu je důležité pro ukončení hrani samplu ve skladbě/v efektu, jinak se ti v skladbě zahraje i něco jiného, co do samplu nepatří, nebo se ti začne hrát sampl od začátku.
    Naposledy upravil Lisiak; 02.11.2021, 21:56:16.

    Vložit komentář:


  • Defor
    odpověděl
    Autorem citovaného textu je ghh Přejít na původní příspěvek
    ...doporuč nějakou literaturu.

    Je tam "Amiga Hardware Reference Manual", kde Commodore vše dobře popsal.
    Na zbytek asi jen EAB forum (hlavně sekce "Coders.Asm/Hardware"), kde se toho dá hodně najít. Bohužel je tam třeba hodně hledat a hodně pročítat. Skvělé je vlákno "Undocumented Amiga hardware stuff", kde se diskutuje o chybách v dokumentaci a chybách v čipsetu. Samozřejmě pokud tě víc zajímá programování za použití AmigaOS, tak i k tomu je tam sekce. Jsou tam velmi ochotní lidé, kteří s tebou proberou reálné problémy. Ale musíš je srozumitelně vysvětlit a být konkrétní. S dotazy typu "Jak udělám na Amize hru" ti tam asi nikdo pomáhat nebude
    V AmigaOS se ale tak nevyznám. Jen to, co si tak matně vybavuju z druhé poloviny devadesátých let, když jsem měl Amigu a něco jsem si v OS programoval (OS3.1). A už vůbec se nevyznám na Amize v jiných jazycích než v assembleru a C (takové ty Amosy a Blitzy mne minuly). Takže v tom neporadím
    Naposledy upravil Defor; 02.11.2021, 21:21:08.

    Vložit komentář:


  • ghh
    odpověděl
    To s tim časem mě nenapadlo, to je dobrej směr. Ještě že jsi mě na to upozornil, bych se snažil o něco nemožnýho
    Nedělám žádnej player, je to jen test a kyž už mi to hrálo tak jsem zkoušel co to všechno dovede. Teď jsem se dočetl že podporován je poze parametr STM_PLAY, tak proto mi ty ostatní nefungujou.
    BTW: odkud máš své znalosti (právě ty který já nemám), doporuč nějakou literaturu.

    Vložit komentář:


  • Defor
    odpověděl
    Autorem citovaného textu je ghh Přejít na původní příspěvek
    Samply přehrávám pomocí datatypů, je na to parametr STM_PLAY a ještě STM_PAUSE a STM_STOP, ale tyhle dva mi nefungujou. Zvuk zastavím odebráním objektu (DisposeDTObject).
    Problém je právě v tom že já nevim jak to řeší ostatní playery. Samozřejmě to nějak jít musí, ale nemám žádnej příklad nebo tak něco
    Pauza bude asi složitější, napadlo mě sampl zastavit, uložit si pozici kde byl zastaven, pak ho přehrát "nanovo" od téhle pozice. Jenže zatim nevim jak zjistit tu pozici
    Čipset nedává možnost číst, z jaké adresy DMA kanály pro audio právě čtou (přečetly) data. Pauza se dá udělat jen tak, že se zruší DMA pro daný kanál. A pokud se má navázat tam, kde se skončilo, budeš si muset adresu sám spočítat. Tedy zapamatovat si čas, kdy jsi sampl začal hrát a kdy jsi hraní ukončil. Čas (v sekundách) vynásob vzorkovací přehrávací frekvencí a budeš mít (přibližně) číslo bajtu, od kterého zase začít (tu zaokrouhli na násobky dvou, protože adresa startu DMA musí být pochopitelně sudá).
    P.S.: Pokud to budeš chtít mít přesné, tak musíš použít přesné hodiny (např. TOD hodnoty v CIAB čipu). Pokud ti o velkou přesnost nejde, tak asi bude stačit jen počítat frejmy (myslím, že jsou v TOD hodnotách CIAA). V CIAA/CIAB jsou ale jen čítače, takže je musíš převést na reálný čas (opět vynásobit jejich frekvencí). Určitě k tomu budou i nějaké funkce v OS, ale ty neznám.
    Naposledy upravil Defor; 02.11.2021, 22:00:00.

    Vložit komentář:


  • ghh
    odpověděl
    Samply přehrávám pomocí datatypů, je na to parametr STM_PLAY a ještě STM_PAUSE a STM_STOP, ale tyhle dva mi nefungujou. Zvuk zastavím odebráním objektu (DisposeDTObject).
    Problém je právě v tom že já nevim jak to řeší ostatní playery. Samozřejmě to nějak jít musí, ale nemám žádnej příklad nebo tak něco
    Pauza bude asi složitější, napadlo mě sampl zastavit, uložit si pozici kde byl zastaven, pak ho přehrát "nanovo" od téhle pozice. Jenže zatim nevim jak zjistit tu pozici

    Vložit komentář:


  • Lisiak
    odpověděl
    Asi si na to zavření tasku použil ukončení DMA přenosu, aby to nečekalo na dohrání samplu. Tím že stopneš DMA, přestanou se hrát sample a zavře se task, tedy mne napadá jen tenhle postup z toho co znám. Třeba to děláš jinak.

    Vložit komentář:


  • Lisiak
    odpověděl
    Pokud se jedná o pauznuti 1 samplu tak aby pak pokračoval, tak to není zrovna si myslím standardní věc. Mám za to že playere pauzu skladby řeší tak, že se doposud hrané sample stopnou a jak dáš pokračovat v hraní skladby jednoduše se hrajou již nové noty, třeba stejného samplu, to je již jiná a to je v pohodě. Pokud chceš samozřejmě nějaké detaily, rozepišu se více.

    Vložit komentář:


  • ghh
    odpověděl
    Konečně se mi podařilo zvládnout i třídu "Process.mui" o které byla řeč výše. Nedokázal jsem na to zapomenout... Totiž původní (a jedinný) příklad co mám je tak trochu matoucí. Tlačítko Stop jenom ohlásí že bylo zmáčknuto a ne že zastaví subtask, přitom ve zdrojáku je i hláška "Stopped", ale to se mi nikdy nezobrazilo (i v orig C verzi).
    Vyměnil jsem původní funkci (zobrazování textu) za přehrávání zvuku aby bylo jasnější co se v subtasku právě děje. Funkce 4x přehraje jeden sampl a skončí. Našel jsem způsob jak subtask zastavit, ale jenom tak že sampl nejdřív dohraje do konce a teprve pak se zastaví subtask.... Eh několik hodin jsem si opět myslel že to asi neni možný, ale pak jsem si všimnul, když program ukončim zavřením okna, zvuk se zastaví okamžitě. Tady jsem měl začnout Nakonec se mi podařilo zvuk-subtask zastavit tlačítkem kdy chci a napsat si několik verzí použití této třídy. Ve verzi bez Process.mui je poslání signálu asi na 10 řádků a tady jen jeden atd.
    Zatim se mi nepodařilo zvuk "pauznout" a pak pokračovat, ale vono to půjde

    Vložit komentář:


  • Lisiak
    odpověděl
    Mně o Tebou popsaném postupu programování něco povídej...

    Vložit komentář:


  • ghh
    odpověděl
    Lisiak4: Jo jo jak píše bigmac. Chtěl jsem něco dodat, ale napsal to úplně přesně.
    Chybí mi nějaký to "vzdělání", jako např. ze školy. Spoustu věcí vůbec netuším jak se dělají, tak to musim lepit podle příkladů a dokumentace. Na věc jdu většinou "hrubou silou", přitom mi to nějak secvakne a pak už jenom ladim, ladim, ladim.... Prostě lama přístup

    Vložit komentář:

Zpracovávám...
X