Autor Wątek: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)  (Przeczytany 24300 razy)

Abrimaal

  • *****
  • Wiadomości: 963
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Od pewnego czasu archiwum AYGOR nie jest aktualizowane. Pomijając fakt, że całość prowadziłem tylko ja, nie nadąży się z publikacją muzyki pojawiającej się na bieżąco i konwersją wielu tysięcy plików trackerowych do .ay nawet gdyby pracowało przy tym więcej osób.

Myślę o napisaniu zaawansowanego (powoli...) edytora dla Windows. Jedyne środowisko do programowania, jakie znam to Visual Studio 6.0 wraz z podręcznikiem Visual Basic. Próbowałem jakieś 10 lat temu pisać w tym proste programy i coś tam działało.

Żeby ten wybór nie okazał się ślepą drogą chciałbym dowiedzieć się czy Visual Basic 6 pozwala na:
- operacje na pojedynczych bitach (typowe bit/set/res/negacja)
- operacje na 2-bajtowych liczbach w Motorola order
- uruchamianie zewnętrznych aplikacji .exe (AY Maker i playery muzyki z parametrami) a także ich zatrzymanie (taskkill)

Edytor miałby składać się minimum z 4 zakładek

1. Edytor, który odczytuje plik .ay, wyświetla wszystkie informacje, pozwala je modyfikować w okienkach, po czym składa ponownie plik za pomocą AYMaker, pozwala przesłuchać w wybranym odtwarzaczu i next file.

2. Batch edytor. Zmiana wybranego pola we wszystkich plikach w folderze. Przykładowo usuwamy z pola komentarza wszystkie (C), poprawiamy błąd w nazwisku czy wypełniamy puste dotąd pole.

3. Batch converter. Otwieramy folder z 500 plików .pt3 jednego autora, po chwili mamy 500 plików .ay z wpisanym już z góry autorstwem i tytułem wziętym z nazwy pliku do późniejszego uzupełnienia w zakładce 1.
Tu problemem jest jeszcze ustalenie, gdzie pt3 przechowuje dane o czasie trwania utworu, domyślam się że jest to mnożenie tempo x ilość nut. Najprościej byłoby skorzystać z gotowego konwertera z Vortex Tracker, ale czy on pozwoli na zdalne wywołanie?

4. Splitter / joiner - dzielenie plików .ay zawierających kilka utworów na pojedyncze i w ten sam sposób łączenie dwóch lub więcej wybranych.




AY Music, ULA plus.

Gryzor

  • *****
  • Wiadomości: 1831
  • Miejsce pobytu:
    Warszawa
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #1 dnia: 2017.02.07, 17:56:01 »
Daruj sobie przestarzaly VB6 - nawet nie wiem, czy to dziala pod Win10. Jesli chcesz robic cos w command line, to lepiej uzyj Pythona, brzmi groznie  :D, ale to najbardziej "ludzki" jezyk. Jesli ma byc z GUI, to sprawa jest trudniejsza - nie znam nic sensownego i prostego zarazem. Jesli chcesz sie trzymac Basica, to zawsze opcja jest VB.NET. Ewentulanie takie cuda jak AutoIt:
https://www.autoitscript.com/site/.  Wszystko zalezy ile czasu chcesz zainwestowac w programowanie - dzis GUI to HTML i JavaScript.

Abrimaal

  • *****
  • Wiadomości: 963
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #2 dnia: 2017.02.08, 00:22:38 »
Przede wszystkim miałby to być GUI, nawet jako nakładka na istniejące AY Maker, AY Splitter. Taki panel sterowania umożliwiający przesyłanie danych między różnymi aplikacjami - Vortex Tracker, tracker music finder z AYEMul, czy nawet AllDup, do wyszukiwania identycznych plików.
Obróbka plików metodą .bat + .ini jest bardzo archaiczna, zabiera mnóstwo czasu.i nietrudno się pomylić.
GUI w HTML wydaje się bardzo ciekawą propozycją, tylko musiałbym poduczyć się jak używać w nim zmiennych, pętli, warunków, dokonywać operacji na plikach. To chyba już javascript powinien się tym zająć (?)
AY Music, ULA plus.

Gryzor

  • *****
  • Wiadomości: 1831
  • Miejsce pobytu:
    Warszawa
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #3 dnia: 2017.02.08, 16:05:19 »
Jak chcesz sprobowac z Javascript to poczytaj sobie o:
http://electron.atom.io/

Ale nie zakladaj, ze opanujesz to w 5 minut. 

Abrimaal

  • *****
  • Wiadomości: 963
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #4 dnia: 2017.02.08, 22:57:43 »
Nie zakładam, że opanuję to w 5 minut, ale już mi się podoba design samej strony i video. Proste duże ikony, bez menu zawierającego tysiące pozycji. Takie "klasyczne" menu, które rozwija się do końca ekranu i jeszcze zawiera submenu opanowuje się niekiedy dłużej  :'(
AY Music, ULA plus.

Gryzor

  • *****
  • Wiadomości: 1831
  • Miejsce pobytu:
    Warszawa
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #5 dnia: 2017.02.09, 13:02:33 »
Jedna uwaga - jesli okaze sie, ze potrzebujesz specyficznych funkcji systemowych, rozwiazania typu JS moga zawiesc. W takich przypadkach nie ma nic lepszego niz C/C++ badz CSharp w Windows. Im programista zrzuca wiecej odpowiedzialnosci na narzedzia, tym wieksza szansa, ze go zawioda :-)

matofesi

  • *****
  • Wiadomości: 1814
  • Miejsce pobytu:
    Toruń/Poland
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #6 dnia: 2017.02.09, 13:07:41 »
Electron teoretycznie daje dostęp do całego node.js co oznacza, że teoretycznie można użyć mechanizmów z tegoż do wywoływania procesów zewnętrznych. Na pewno da się to zrobić na Linuksach i innych *nixach ale nie jestem pewien czy da się to w prosty sposób zrobić na Windowsach. A jak się nie da to pozostaje przygotowanie stosownego natywnego modułu i posiłkowanie się czymś takim.

Ale może w praktyce jest prościej i łatwiej - nie wiem, nie znam się ;) node.js używam tylko pośrednio bo używa go Atom, którego czasem używam (yup... trzy razy "używam" w jednym zdaniu ;)).

Gryzor

  • *****
  • Wiadomości: 1831
  • Miejsce pobytu:
    Warszawa
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #7 dnia: 2017.02.10, 12:51:21 »
Da sie tak jak piszesz, ale Abrimaal pytal o cos prostego, wiec zaawansowane zagadnienia pomijam. Warto jednak przemyslec, co sie chce osiagnac.
Z ciekawosci sprawdzilem jak wyglada sytuacja VB6 i okazuje sie, ze lobby jest calkiem silne:
https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx
Nie ma tylko wsparcia na IDE, ale pisanie nowych apikacji w VB6 i tak nie ma sensu.

matofesi

  • *****
  • Wiadomości: 1814
  • Miejsce pobytu:
    Toruń/Poland
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #8 dnia: 2017.02.10, 13:09:07 »
@Gryzor Ja wiem, że pytał o proste i że prawdopodobnie Electronem+node.js wybije sobie oko (albo oba) ;) Dlatego napisałem, że w prosty sposób tego co by chciał zrobić to się nie da :)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4222
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #9 dnia: 2017.02.10, 13:51:14 »
A w ogóle to mam wrażenie że Abrimaal chce zacząć pisać narzędzie od końca, czyli od UI. Moim zdaniem powinno się zacząć od dokładniejszych założeń co to ma robić... bo może się okazać że po roku pisania GUI zostanie on użyty raz.. może 2.. a i tak większość masowych operacji da się zrobić skryptami (bash, perl, php, pytong, .bat, cokolwiek...).

matofesi

  • *****
  • Wiadomości: 1814
  • Miejsce pobytu:
    Toruń/Poland
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #10 dnia: 2017.02.10, 14:15:12 »
@Tygrys Ależ oczywiście, że od końca ;) Niechęć do (porządnie napisanych) skryptów jest typową przypadłością nieprogramistów-nieadministratorów :) Używam kilku GUI do programów commandline'owych ale głównie do takich, które obrabiają media i "z ręki" wymagałyby podawania kilkudziesięciu parametrów a do tego potrzebuję ich może raz w miesiącu. W praktyce automatyzuję skryptami wszystko to, czego używam (średnio) częściej niż raz dziennie i jest mi z tym bardzo dobrze ;)

Ale jestem w stanie zrozumieć podejście "GUI jest lepsze, bo jak się robi ręcznie to się łatwo pomylić". Tyle, że zrobienie dobrego GUI w ogóle a jak się nie programuje takich rzeczy na co dzień tym bardziej nie jest łatwą sprawą. Mnie by się w każdym razie zdecydowanie nie chciało w to bawić zwłaszcza jak krąg odbiorców takiego produktu zamykałby się może w trzech osobach ;)

Gryzor

  • *****
  • Wiadomości: 1831
  • Miejsce pobytu:
    Warszawa
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #11 dnia: 2017.02.10, 17:29:05 »
Nie zniechecajcie czlowieka  :D Nawet jak nie zrobi, to sie troche nauczy - i tu wazne aby nauczyl sie czego przydatnego.
Bo inaczej mozna skonczyc np. tak:
http://phrogram.com/

steev

  • *****
  • Wiadomości: 1101
  • Miejsce pobytu:
    inode 42
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #12 dnia: 2017.02.10, 20:44:15 »
Hm, czy to już ten moment, by zasugerować nieśmiało Qt Creatora?
Machines should work. People should think.

Gryzor

  • *****
  • Wiadomości: 1831
  • Miejsce pobytu:
    Warszawa
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #13 dnia: 2017.02.11, 20:12:33 »
To na trzecie oko  ;D

Abrimaal

  • *****
  • Wiadomości: 963
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Edytor plików .AY dla Windows / PC (jak i w czym napisać?)
« Odpowiedź #14 dnia: 2017.02.12, 00:37:04 »
Mam na myśli opanowanie podstaw programowania w wybranym języku czy środowisku korzystającym z gotowych bibliotek i wypróbowanych, sprawnie działających aplikacji.
Jeśli mam w ogóle zacząć, to od pisania narzędzia open source, które jest mi najbardziej potrzebne w jak najprostszym wydaniu. Nauczyć się w jaki sposób otworzyć plik, odczytać jego nagłówek, zapisać pod inną nazwą, otworzyć kolejny plik itd. Rozbudować o dodatkowe elementy i zastępować gotowce własnymi rozwiązaniami zawsze można w miarę postępu.
Jeśli to jest aż tak skomplikowane, wolę zostawić ten util w fazie otwartego projektu w pliku tekstowym. (link),
a sam kontynuować projekty foto/video/media, na które zawsze mam za mało czasu. Być może za kolejne 15 lat ktoś odkryje emulowane formaty muzyczne na nowo i metodą drag and drop w jeden dzień stworzy w pełni funkcjonalną aplikację.
Projekt UI był opracowany pod pakiet ZX Modules, jednak autor niedawno oświadczył, że wycofał się z programowania i wraca do tworzenia muzyki, czyli nie będzie więcej aktualizacji ZX Modules.
Bardzo mnie tutaj inspiruje Java CPC, który łączy wiele aplikacji i pozwala na przesyłanie danych między nimi. Czy coś takiego kiedykolwiek powstanie dla ZX, małe prawdopodobieństwo. Rozwijane są kolejne emulatory, narzędzia, ale brakuje integracji między nimi i współpracy między autorami.
Przykładowo, dość nowy emulator ZesarUX w najnowszej odsłonie ma już player AY, jednak napisany prawdopodobnie od podstaw. Dużym plusem całego emulatora jest włączenie CPC i SAM'a do emulowanych komputerów. Minusem jest to, że player AY nie jest odrębną "platformą", skladającą się z Z80, chipów muzycznych, portów I/O, tylko bazuje na pełnym emulatorze wybranego komputera. Jeśli plik .AY zawiera np. screen, to jest wyświetlany na emulowanym ekranie, co jest nawet ciekawe. Jednak kiedy plik .AY dla Spectrum zawiera dane w obszarze ROM, które są w trakcie przenoszone we właściwe miejsce, to już taki plik zawiesi emulator.
« Ostatnia zmiana: 2017.02.12, 01:26:27 wysłana przez Abrimaal »
AY Music, ULA plus.