A nie lepiej od razu domyślnie ustawiać ścieżki zamiast $HOME na $APP_PATH?
Nie czytam PM. Proszę używać e-mail.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
4th Atari ASCII Compo - wyniki Dostępne są już wyniki tegorocznego ATASCII Compo.
thing neo 1.60 Olivier Landemarre wydał nową wersję desktopu Thing.
VIII. Basque Tournament of Atari 2600 Kolejna relacja, wśród otrzymywanych od naszego przyjaciela Egoitza z Kraju Basków.
atari.area forum » Fabryka - 8bit » SOFTSYNTH - może ktoś napisze dwa zdania?
Strony Poprzednia 1 2 3 4 5 6 7 8 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
A nie lepiej od razu domyślnie ustawiać ścieżki zamiast $HOME na $APP_PATH?
dla jakiej rodzielczości ekranu jest okno Wave Editor? dla 1024x768 na pewno nie
@dely: może i lepiej. Zwłaszcza jakby kiedyś pojawiła się jakaś wersja instalacyjna. Póki co to wczesna alfa, przy tym pisana pod linuxem - żeby tego exeka zrobić, musiałem specjalnie "wyłazić do windy" coby program zrekompilować pod win32.
Przy czym pokazała się w całej pełni moc Lazarusa: ni jednej linijki nie zmieniłem w kodzie, tylko otworzyłem projekt pod windą i wcisnąłem F9.
@tebe: okno ma 1356 pixeli szerokości. Mieści się na tym, na czym to robię (jeden komputer ma monitor 19" @1440x900, drugi 24" 1920x1200). Jak widać, ciężko byłoby upchać to wszystko w mniejszym oknie, poza tym, o 1024x768 zapomniałem dawno temu, od czasu jak kupiłem sobie w 2001 roku 19" CRT. Skoro nie dało się to upchać na mniejszym kawałku ekranu, to przynajmniej pilnowałem, żeby weszło na HD Ready 1366x768.
Jeśli będzie dużo "skarg" że okno za duże, pomyślimy. To nie jest nawet jeszcze beta, to się wszystko może zmienić. Machinę grającą pisałem od nowa już kilka razy.
Dla jakiej rozdzielczości jest okno Wave Editor, czemu takie małe? :)
BP, NMSP.
Dodałem obsługę vib, tyle, że narobił mi się bałagan w kodzie syntezy. W jednym miejscu jednostką jest Hz/1000, w innym Hz/1000000, jeszcze gdzie indziej Hz/65536 - jak to tak zostawię, to za chwilę to się wszystko pochrzani.
Po uprzątnięciu kodu (pewnie jutro), wstawię nową wersję. Z chodzącym vibem te kawałki zupełnie inaczej brzmią.
EDIT: dziś nie wstawię nowej wersji dla win. Piszę to pod 64-bit lin, gdzie wszystko działa dobrze, ale coś spsułem w programie tak, że po skompilowaniu dla win32 wydaje jakieś dziwne dźwięki, zamiast grać co trzeba. Muszę teraz znaleźc ten błąd, a dziś już nie będę miał kiedy.
Przy tej okazji: działa już zakładka Masic Editor; do tej pory był to tylko podgląd, teraz można rzeczywiście edytować w nim masicowy kod.
Chyba założę projekt dla tego programu na sourceforge. Będzie prościej.
Poszła wersja z vibem :)
Przyczyna błędu: przekroczony maxint na 32-bitowym systemie.
U mnie cokolwiek bym nie zrobił przy 'import atari song' wyskakuje 'range check error', Win 7 32bit. A ogólnie gratulacje, kawał dobrej roboty!
Właśnie przepisuję tę syntezę od nowa na zmienny przecinek, będzie spokój z "range check". Wyniki pośrednie obliczeń przekraczają wartości 32-bitowego inta i dlatego się sypie. Jak się pisze na 64 bitowym systemie to takie kwiatki przechodzą niezauważone, póki się rekompilacji na 32 bitach nie zrobi.
Wczoraj, jak wstawiałem program, "Opanowanie świata" i "Wodospadem czasu" na xp32 grało, dlatego zresztą wstawiłem.
Edit: podmieńcie exeka na ten. Nie powinien już wyrzucać range check errorów.
I jeszcze jedna poprawka. Poprawka pomoże, gdyby komuś program sypał się z błędem, że np. '12.345' nie jest liczbą zmiennoprzecinkową. Ta małpa bierze nie wiadomo po co separator dziesiętny z systemu, a w Polsce to ',' a nie '.'. Poniższa poprawka powinna to załatwić, zmienna "decimalseparator' została na sztywno ustawiona na '.', poza tym poniższa wersja niczym nie różni się od poprzedniej.
Następną wersję na win wrzucę jak już będzie bardziej uporządkowana, chyba, że dostanę od was informacje, że coś sie bardzo mocno sypie.
Build 103.
Zmiany:
- synteza w całości przepisana na zmienny przecinek
- dodana obsługa efektu int
- usunięte kilkanaście błędów (i dodane kilkanaście innych o których jeszcze nie wiem)
Archiwum zawiera tylko .exe do podmiany; jeśłi ktoś nie uruchamiał jeszcze tego programu, to powinien ściągnąc archiwum z postu #107 a potem podmienić .exe. z archiwum poniżej.
Przy imporcie niektórych utworów wyskakuje komunikat "Error - bad frequency string, ignored". Nie zauważyłem żadnych konsekwencji tego komunikatu, ale razi w oczy ;)
P.S. Niezły kawał 'cross-softu' !
Przyznam bez bicia, jeszcze nie odpalałem...
Ale czy nie można by było zrobić do tego Softsyntha interfejsu trakerowego, podobnego jak jest np. w RMT? Myślę, że zainteresowanie programem by jeszcze dodatkowo wzrosło.
Interfejs - jakikolwiek - do komponowania - jest po prostu jeszcze w ogóle nie zaczęty. Ale w Masicu można już pisać, działa "normalny" edytor. Tyle, że nie ma jeszcze eksportu do Atari. Można co prawda zapisać listing, ale żeby to żyło na Atari, trzeba wyrzucić wszystkie polecenia "play" - Atari ich nie trawi; ma być 1,C1, a nie play 1,C1, zamienić wszystko na uppercase i wszystkie końce linii przekonwertować z OA 0D na ATASCII 9B.
Ten interfejs to na pewno nie będzie to tego rodzaju tracker, bo to nie pasuje pod softsynthową machinę i będzie ją wybitnie ograniczać. Muszę jeszcze wykombinować coś, co będzie nie mniej wygodne, a równie funkcjonalne i będzie w stanie jak najwięcej z tego wydusić. Przy czym najpierw chcę mieć wersję 0.10 w stanie takim, że interpretuje Atari Masica na 100% i działają wszystkie funkcje load/save/import/export. W tym momencie programem można będzie już coś zrobić, czy to na Atari, czy na PC. Wtedy zabiorę się za tracker.
Przy imporcie niektórych utworów wyskakuje komunikat "Error - bad frequency string, ignored". Nie zauważyłem żadnych konsekwencji tego komunikatu, ale razi w oczy"
To jest efekt jeszcze nie zaimplementowanych instrukcji Masica, przede wszystkim "?" - interpreter, najpierw sprawdza, czy pierwszy argument po numerze linii jest znaną mu instrukcją, a jeśli nie, próbuje na koniec zinterpretować ten string jako dźwięk do zagrania w domyślnym kanale. Wysyła ten nieszczęsny "?" do procedury zamiany stringu (typu np C#1) na częstotliwość, a ta zwraca powyższy komunikat. Innym efektem ubocznym braku implementacji efektów są linie typu play 33,cośtam. Nawet już nie wiem, które polecenie to tak załatwia, w każdym razie tu są tylko 32 kanały, więc play w kanale 33 też będzie ignorowane.
Wszystkie te krzaczki powinny znikać z czasem.
Póki co, muszę poprawić znalezione błędy w interpretacji vib (żle działa w "długiej" wersji vib wave,adsr,depth,wave len, adsr len) oraz int (potrafi zagrać pierwszy dźwięk po int nie tym kształtem fali) .
Przyznam bez bicia, jeszcze nie odpalałem...
Ale czy nie można by było zrobić do tego Softsyntha interfejsu trakerowego, podobnego jak jest np. w RMT? Myślę, że zainteresowanie programem by jeszcze dodatkowo wzrosło.
Oczywiście. Bez tego mało kto nawet podejdzie do prób.
Dodałem echo i mod (niestety, tylko mod 1 - nie wiem czy uda mi się dojść jak działają mod 2 i mod 3) , poprawiłem int, dodałem nie istniejące w atari, a przydatne na PC polecenie gain, ustawiające ogólne wzmocnienie.
Nie mam już dziś siły rekompilować tego pod windę, (linux rulez :) ) może jutro wstawię porządnie zrobioną paczkę (prog+.s+.h+moduły+licencja+readme)
Ale mam już wstępną wizję trackera do tego wynalazku i może zacznę go powoli implementować.
ooo - no, tracker może tutaj znacząco namieszać. Szczególnie jeśli chodzi o prace kompotowe :)
kto wrzuci ten wątek do FABRYKI ?
Ja.
Zapodaję nową wersję.
Jedyne, czego brakuje, żeby moduły Jakuba Husaka brzmiały tak, jak autor zaplanował, to drugi parametr dla >
Rozbabrałem tracker, ale tam jeszcze nic nie działa. Tracker będzie się trzymał softsynthowej, a nie trackerowej filozofii działania - w końcu wynikiem ma być plik softsyntha. Zresztą, softsynth jest "bliżej muzyki" niż standardowy tracker.
poprzednia wersja działała. Ta niestety wywala na każdym zaimportowanym kawałku komunikat: "Range check error" - cokolwiek by to nie było :)
Cholerka.. zapomniałem wyłączyć ten pierniczony range check przed kompilacją pod win... :( Ale i tak powinno działać, przed chwilą ściągnąłem tego rara z forum, rozpakowałem i gra.
Jedną z przyczyn wywalania range checków w tej wersji jest brak dostępu do .s i .h - normalnie fileopen, jak nie znajdzie pliku zwraca -1, na co program reaguje komunikatem, że nie może znależć pliku. Ale jak jest włączony range check w kompilatorze, fileopen, zamiast zwrócić -1, wywala wyjątek.
Sprawdź, w "settings" ustawienia katalogów dla .s i .h - mają mieć koniecznie kończące "\". No i wskazywać na odpowiednie katalogi.
Zresztą, mam tu źródła, zaraz je przekompiluję z wyłączonym range checkiem, przejdzie mu ta choroba.
Edit: poniżej exe skompilowany bez range check. Niestety, jak przed chwilą sprawdziłem, wpada w nieskończoną (albo bardzo długą... nie wiem jeszcze) pętlę jeśli ma źle poustawiane katalogi dla .s i .h i trzeba go wtedy zabijć z poziomu managera zadań (ctrl-alt-del). Taki to urok alfatestowych programów i kompilowania na innym systemie, niż się go pisze. Poprawię krzaka przy najbliższej okazji. - ma wypisać raz, że nie znalazł pliku i przerwać dalsze próby interpretacji.
A można liczyć na wersję linuxową?
Której dystrybucji używasz?
Ja ten projekt robię pod linuxem właśnie. I tylko na potrzeby użytkowników najbardziej popularnego systemu operacyjnego uruchamiam virtual boxa z windą i rekompiluję tam projekt. W związku z tym właśnie linuxowa wersja (64bit, QT) jest podstawowa :)
Jako, że środowisko Lazarusa ( http://www.lazarus.freepascal.org/ ), w którym to robię, jest wieloplatformowe, program powinien dać się skompilować także dla Mac OS.
Strony Poprzednia 1 2 3 4 5 6 7 8 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Fabryka - 8bit » SOFTSYNTH - może ktoś napisze dwa zdania?
Wygenerowano w 0.031 sekund, wykonano 55 zapytań