Short: MIDI sequencer for the AMIGA (Beta) Author: Stefano Maria Regattin (smregattin@fastwebnet.it) Uploader: Stefano Maria Regattin (smregattin fastwebnet it) Type: mus/midi Version: 0.53 Requires: Any Classic Amiga (emulated), a MIDI instrument Architecture: m68k-amigaos Date: Thursday, 9th November 2023 Name of the program: AmySequencer This archive retains my idea of a MIDI and samples sequencer; it is not fully working yet, there is a lot to do; you can modify by yourself the source code of this program, converted into text format, using Blitz2 (Blitz Basic 2.1) which by it has been made; if you have not purchased a copy of Blitz2, you will be happy to know that surfing on http://www.aminet.net you can get AmiBlitz2 or better AmiBlitz3, the freeware evolutions of Blitz2; so there are no excuses to not programming your own MIDI sequencer for the AMIGA! I am sorry but AmiBlitz2, as choice of the developer, runs only on the AMIGAs that have a math coprocessor (FPU)! The source code can be freely modified, on condition that you mention me in your resulting final program. The reason of this upload is the improvement of the adf that now is autobooting! Now the sequence sizes are reduced, they are so big as before no more! There was an error into the events time conversion of the loaded MIDI files, but the loading is still wrong however! Correpted the bars values into the sequences editor; before a value of one eighth as misure crashes the sequences editor; instead now the values of one eighth or less are handled correctly. I have noticed that there was a problem with the loaded MIDI files into the menu; I have solved it positioning correctly the program start procedures. Now, thanking Michael Clarke that have e-mailed me about the data kind of "all notes off", I have a clever idea of this; so now all should go fine! Now each line in the main window is no more a sequence, it is a track: this can have one or more sequences; at the moment the editing of a sequence is a little unfriendly, this means that you will never allowed to leave empty space trails after the last sequence, so the only way to add a sequence at the end of the last one is to create a bridge sequence that exceeds the end of the last sequence; this is not a bug, it is my choice. Now are taken in count only the existing sequence, no more all the sequences; this results in a general speed increment; I have fixed general problems created by this new sequences management. Now the bars counting into the sequence editor should be correct, also with tempo change. Removed two bugs bars counting related. Removed a bug of the non note events displacement. Removed a typing error that not allows the show of the value of the dragged event. Removed a bug that vanified the drag and drop of the selected events. There was a wrong pitchbend events displacement; now the problem is almost fixed. For a typing error the SHOW DRAGGED EVENT VALUE sequence editor menu option could not be activated; now the problem is solved. Now the BPM events are correctly managed. Now the AMIGA sounds management is a bit unfriendly but it is more efficient. Now you can select a sound and free its channel if all the channel are used. Now the AMIGA sounds management is great! Now I have moved the action buttons for the selection of the musical events All, None and Toggle as voices in the EDIT menu; in this one I have added the voices Cut, Copy, Paste, Forget and Goto, that are fully working. I have removed a bug in the musical event selection by mouse, now all should goes fine. There were some mistakes in the musical events displacement; now all is OK. Now you can load any kind of MIDI file; the saving is not enabled yet but you can add this by yourself compiling the source code with Blitz2, AmiBlitz2 or AmiBlitz3. I have corrected the ticks per sixtyfourth note of AmySequencer and of the loaded MIDI file being both the related ticks per quarter note divided by sixteen; also now if you load a MIDI file till the end its name is rememberedas a voice into the first menu of the main window: you can reload the signed MIDI file by selecting its name. Now the version of the executable is correctly displaced, thanking all the people on the Blitz list that have answered me for this problem; there was another problem of the note duration when loaded from a MIDI file: now the note duration is no more fixed to two ticks, but the notes are not correctly converted yet. Now the notes are correctly loaded but are attached each other; I do not know why the rests are not token in count; I hope with the next release of the archive it will be fixed. It was impossible to play the musical events from the related voices in the main and the sequence editor windows; now the problem should be solved. There were several errors in the musical event selection routine; now it seems that all goes fine. I have changed the colours for the longest musical event displacement to distinguish it from the Alone button. I have improved the sequences selection and deletion routines: it seems that all goes fine now! Now the sequences management is great! Now it is possible to play AMIGA sounds and MIDI note together; previously this had strange effects. Now the pasting of the copied events is applied to the events channels also. Now if you load a MIDI file you see the numbers of the events and of the sequence used. Now the tempo changes typed by the user are correctly evaluated. Now the sequences displacement is fast and correct. Removed a bug from modification that vanified the rests insertion by keyboard. Now the alone selection for events or for channels has effect while playing or recording. Removed a bug from the tempo events management that crashed the AMIGA; now the tempo events should not give problems and should be evaluated correctly. Now the Original Colours menu voice status is preserved. Now the zoom buttons (+-) are visible if you choose the original colours also. Now tbe main menu is not modified if you abort the loading of a MIDI file. Now the playing and the selection routine are fine, thanking Peace Queen. Now the program flushes all the unused event: I don't really know yet if this is an improvement or a bug! Now the dragged event mouse position is correctly bounded. Now the basic event length variation is correctly managed. Now the highlight of some events during the playing from the sequencer editor should have strange effects no more. There was a mistake made by me into the Standard MIDI File (SMF) loading procedure that gives no errors. Now the pasting of the cutted and copied events should be performed correctly. Now the control change event values are played correctly and it is possible to change the slider values by clicking by side of the cursors by the left mouse button. Now it is possible to select musical events by creating an area holding down the left mouse button and moving the mouse; you must enable or disable this feature pressing the A key in the sequence editor. Now the non note event lower limit is correcly handled. Now the musical event dragged by mouse is correctly updated, so now you should listen at end to the note at its new position, not to its old one. Now the main window slider shold change their value responding correctly to the mouse action. Now the mouse status is reported in the sequence editor window title. Corrected the typing error in the first help requester for the sequence editor. Now the end of the rightmost sequence is visible again, with loaded Standard MIDI files also. I have added the NuovaPosizioneEventoMusicale variable wishing to erase the bug for the erroneous loaded MIDI file musical events time placement, but I was wrong. I have performed some graphics changes and I have started the english and Blitz2 conversion of my proggy SamplesMaster that I have made by AMOSPro and that is in italian to be included into the AMIGA sounds management. Now the Standard MIDI File loading procedure should not enter into an endlessloop if the END-OF-TRACK-CHUNK marker is missing. Now the bars counting for the sequence editor is great, thanking my dad! Now the AMIGA sound frequency retrieve in the sound editor should be correct. Now the archive is filled of the needed files, I have removed the unused ones. Now the base musical event requesters have more than two options. Removed the AMIGA speech use; reactivated the STOP menu voice. Corrected the year where reported to be the current instead of the previous one. Now the program correctly responds immediately to user action! Performed several improvement to the program, the major part in the AMIGA sounds editor; I have changed the backdrop that are two, one for the NTSC AMIGAs and one for the PAL AMIGAs; I have adapted the program to the new backdrop colours. Now the sound saving is fully functional and bug free! The position of dragged events is correct at left also, that is a negative value. I have changed two backdrop images, one for the PAL AMIGAs and one for the NTSC AMIGAs; I think these are poor but better than before; I have improved the sound marker lines management. I have corrected the sound editor uncoded sound saving error; I have changed the colour of the sound editor saving message texts from red to cyan. I have changed the colour of the sound frequency displacement from light grey to dark cyan and now the sound zoom area displaces correctly the minimum distance between the purple marker lines. I have removed a minor bug of the MIDI channel selection buttons displacement and I have changed the two backdrop pixes. I have improved at the most of my possibilities the bar counting into the sequence editor. Now you can cut and save your AMIGA samples; cleaned part of the code and of the graphics! Corrected some wrong things and added some new. Now the mouse area note selection should work greatly; now the sequence editor selection zone are no more overwritten if you enter the sound editor. Corrected several errors and performed some improvements; added the highlighting of the musical events alike the current selected event. Corrected some wrong things; now the highlighting is no more oppressive! Now the sound loaded in the sound editor will change by the user action, so the changement can be listened on every time! Now if there is no sound loaded into the sound editor it will appear the request panel to inform to load it. The code conversion has brought a complete cleaning of the MIDI file loading procedure that now does not give error as before at first; however do not enable the debugger before compilation! Now the whole sample loaded into the sound editor can be centered around zero; this is so called direct current offset remotion. Now is possible to load and save raw samples, and also the sample frequency change is saved if the sound is a standard AMIGA sound. I have created a custom zone management so now all the buttons should work fine! I have correpted a typing error that did vanify the sequence editor selection area; now it should be back; I have solved the sound name and path saving messages problem and the custom requester buttons management; I have correpted the message spaces count into the event value editor and I have fixed the windows font also. I have failed to solve the wrong notes loading, but I have noticed a TICKS PER QUARTER NOTE value sets to zero into the Bars&Pipes loaded MIDI files; I have correpted this strange thing and I have correpted the loaded motifes menu displacement at start. Due the optimization of the sequence editor bars counting the eighth and smaller values are handled correcty now! Several improvements performed. I have enclosed into the archive the source extra file (AmySequencer.bb2.xtra) that handles the AmySequencer development environment: this because before to compile the source code by Blitz or AmiBlitz, you must disable the errors checking to allow the command SetPeriod to work and you must set the sound objects maximum to 33 sounds and the gadget lists to 6; if you don't want to do so, here is this extra data file supplied for you. There are two known bugs: the first is that if you press the Esc key while the program is playing, it show to you an error requester and then it stops drammatically! The second is that with the loading of several MIDI files the program does not recognize the end of the file and enters into a reading endless loop, forcing the user to reboot the AMIGA! Now the sequences are smaller and I have correpted a loaded MIDI file time conversion error, but this still remains a problem however. Performed some general visible improvements. Now the adf is better and autobooting. Bug reports and suggestions are welcome! I am not responsible of any damage this program can occurs to your system; you use it at your own risk! At end watch my sites to the following Internet addresses: http://www.stefanomaria.altervista.org http://www.esseemmeerre.altervista.org Do not forget to visit http://www.github.com searching for my name to watch my source codes! The following is the same text for italians: Data: giovedì, 9 novembre 2023 Nome del programma: AmySequencer Questo archivio contiene la mia idea di un sequencer MIDI e di campioni audio; non è ancora completamente funzionante, c'è molto da fare; potete modificare da soli il codice sorgente di questo programma, convertito in formato di testo, usando Blitz2 (Blitz Basic 2.1) con cui questo è stato fatto; se non avete acquistato una copia di Blitz2, vi farà felici sapere che navigando su http://www.aminet.net potete trovare AmiBlitz2 o meglio AmiBlitz3, le evoluzioni gratuite di Blitz2; così non avete più scuse per non fare il vostro sequencer MIDI per l'AMIGA! Sono spiacente ma AmiBlitz2, per scelta dello sviluppatore, funziona solo sugli AMIGA dotati di coprocessore matematico (FPU)! La ragione di questo caricamento è nel miglioramento dell'adf che ora è autoavviante! Ora le dimensioni delle sequenze sono ridotte, non sono più così grandi come prima! Corretto anche un'errore di conversione del tempo degli eventi del file MIDI caricato, ma il caricamento dei file MIDI è comunque sbagliato! Corretti i valori delle battute nell'editore delle sequenze; prima un valore di un ottavo come misura bloccava l'editore delle sequenze; invece ora i valori di di un ottavo e meno sono gestiti correttamente. Ho notato che c'era un problema nel menù con i brani caricati; l'ho risolto posizionando correttamente le procedure di avvio del programma. Ora, ringraziando Michael Clarke che mi ha mandato un messaggio di posta elettronica riguardo il tipo di dati di "all notes off" (ferma tutte le note), ho un'idea più chiara di questo; così ora dovrebbe andare tutto bene. Ora ogni linea nella finestra principale non è più una sequenza, è una traccia: questa può avere una o più sequenze; al momento l'editazione di una sequenza non è molto amichevole, ciò significa che non vi è permesso di lasciare spazio vuoto dietro l'ultima sequenza, perciò l'unico modo per aggiungere una sequenza dopo quest'ultima è quello di creare una sequenza ponte che superi la fine dell'ultima sequenza; questo non è un baco, è una mia scelta personale. Ora viene tenuto conto solo delle sequenze esistenti, non più di tutte le sequenze; ciò risulta in un generale incremento della velocità; ho fissato i problemi creati da questa nuova gestione delle sequenze. Ora il conteggio delle misure nell'editore di sequenza dovrebbe essere corretto, anche con cambi di tempo. Rimossi due bachi relativi al conteggio delle misure. Rimosso un baco della visualizzazione degli eventi non note. Rimosso un errore di digitazione che non consentiva la visualizzazione del valore dell'evento musicale spostato con il mouse. Rimosso un baco che vanificava il DragAndDrop (trascinamento) degli eventi selezionati. C'era un'erronea visualizzazione degli eventi di pitchbend; ora il problema è quasi risolto. Per un errore di digitazione l'attivazione dell'opzione del menu del l'editore della sequenza che abilitala visualizzazione del valore dell'evento trascinato (SHOW DRAGGED EVENT VALUE) non era possibile; ora il problema è risolto. Ora gli eventi delle Battiti Per Minuto (BPM) sono gestiti correttamente. Ora la gestione dei suoni AMIGA è un po' meno amichevole ma è più efficiente. Ora potete selezionare un suono e liberare il suo canale se sono usati tutti i canali. Ora la gestione dei suoni AMIGA è grandiosa! Ora ho spostato i pulsanti per la selezione degli eventi musicali All (Tutti), None (Nessuno) e Toggle (Scambia) come voci nel menù EDIT; in quest'ultimo ho aggiunto le voci Cut (Taglia), Copy (Copia), Paste (Incolla), Forget (Dimentica) e Goto (Vai a), che sono pienamente funzionanti. Ho rimosso un baco nella selezione con il mouse dell'evento musicale, ora dovrebbe andare tutto bene. C'erano degli errori nella visualizzazione degli eventi musicali; ora è tutto a posto. Ora potete caricare ogni tipo di file MIDI; il salvataggio non è ancora attivato ma potete aggiungerlo voi compilando il codice sorgente con Blitz2, AmiBlitz2 od AmiBlitz3. Ho corretto i tic per un sessantaquattresimo di AmySequencer e del file MIDI caricato essere entrambi i relativi tic per quarto divisi per sedici; in più ora se caricate un file MIDI fino alla fine il suo nome è ricordato come voce nel primo menù della finestra principale: potete così ricaricarlo selezionando il suo nome. Ora la versione dell'eseguibile viene visualizzata correttamente, ringraziando tutti gli utenti della lista blitz che mi hanno risposto per questo problema; c'è un'altro problema della durata delle note quando caricate da un file MIDI: ora la durata non è più fissa a due tic, ma le note non vengono ancora convertite correttamente. Ora le note sono caricate correttamente ma sono attaccate l'un l'altra; non so perché non viene tenuto conto delle pause; spero che il problema sarà risolto con il prossimo rilascio dell'archivio. Era impossibile suonare gli eventi musicali dalle voci relative nelle finestre principale ed editore sequenza; ora il problema dovrebbe essere risolto. C'erano alcuni errori nella routine di selezione degli eventi musicali; ora sembra che vada tutto bene. Ho cambiato i colori per la visualizzazione dell'evento musicale più lungo per distinguerlo dal bottone Alone (Da Solo). Ho migliorato le routine di selezione e cancellazione delle sequenze: ora sembra che vada tutto bene! Ora la gestione delle sequenze è grandiosa! Ora è possibile far suonare insieme suoni AMIGA e note MIDI; precedentemente ciò aveva strani effetti. Ora l'incollatura degli eventi copiati è applicata anche ai canali degli eventi. Ora se caricate un file MIDI vedete il numeri degli eventi e delle sequenze. Ora i cambi di tempo digitati dall'utente sono valutati correttamente. Ora la visualizzazione delle sequenze è corretta e veloce. Rimosso un baco da modifiche che vanificava l'inserimento delle pause con la tastiera. Ora la selezione esclusiva (Alone) per gli eventi o per i canali ha effetto mentre si esegue (Play) o si registra (Record). Rimosso un baco dalla gestione degli eventi del tempo che mandava in tilt l'AMIGA; ora gli eventi del tempo non dovrebbero dare problemi e dovrebbero venire valutati correttamente. Ora lo stato della voce di menù Original Colours (Colori Originali) è preservato. Ora i tasti di zoom (+-) sono visibili anche se si scelgono i colori originali. Ora il menù principale non viene modificato se annullate il caricamento di un file MIDI. Ora le routine di esecuzione e di selezione sono ottime, ringraziando la Regina Della Pace. Ora il programma si dimentica degli eventi temporali inutilizzati: non so ancora se considerarlo un miglioramento od un baco! Ora la posizione del mouse dell'evento trascinato è correttamente delimitata. Ora la variazione della lunghezza dell'evento base è correttamente gestita. Ora l'evidenziazione di alcuni eventi durante l'esecuzione dal l'editore sequenza non dovrebbe avere più strani effetti. C'era un errore fatto da me nella procedura di caricamento dei File MIDI Standard (SMF) che non dava errore. Ora l'incollatura degli eventi tagliati e copiati dovrebbe venire eseguita correttamente. Ora i valori di cambio di controllo vengono eseguiti correttamente ed è possibile cambiare i valori degli slider cliccando ai lati dei cursori con il tasto sinistro del mouse. Ora è possibile selezionare eventi musicali creando un'area tenendo premuto il tasto sinistro del mouse e muovendolo; dovete abilitare o disabilitare questa funzione premendo il tasto A nell'editore sequenza. Ora il limite inferiore degli eventi non note è correttamente gestito. Ora l'evento musicale spostato con il mouse è correttamente aggiornato, così ora dovreste sentire alfine la nota alla sua nuova posizione, non a quella di partenza. Ora le barre di scorrimento della finestra principale dovrebbero rispondere correttamente all'azione del mouse. Ora lo stato del mouse è riportato nel titolo della finestra del l'editore sequenza. Corretto un'errore di digitazione nel primo pannello di richiesta d'aiuto dall'editore sequenza. Ora la fine della sequenza più avanti nel tempo è visibile correttamente, anche caricando i file MIDI standard. Ho aggiunto la variabile NuovaPosizioneEventoMusicale, sperando di eliminare il baco del posizionamento temporale degli eventi musicali del MIDI file caricato, ma mi sono sbagliato. Ho effettuato alcuni ritocchi grafici ed ho iniziato la conversione in inglese ed in Blitz2 del mio programma SamplesMaster che ho fatto con AMOSPro e che è in italiano per essere incluso nella gestione dei suoni AMIGA. Ora la procedura di caricamento degli STANDARD MIDI FILE non dovrebbe entrare in un ciclo infinito se il marcatore END-OF-TRACK-CHUNK (FINE DEL BLOCCO DELLA TRACCIA) è mancante. Ora il conteggio delle battute per l'editore sequenza è grande, ringraziando mio padre! Ora la rilevazione della frequenza del suono AMIGA caricato nel l'editore del suono dovrebbe essere corretta. Ora l'archivio è riempito dei dati necessari, ho rimosso quelli inutili. Ora i pannelli del cambio dell'evento musicale di base hanno più di due opzioni. Rimosso l'uso del parlato di AMIGA; riattivata la voce di menù STOP (ferma). Corretto l'anno dove riportato a quello corrente invece di quello precedente. Ora il programma risponde immediatamente alle azioni dell'utente! Ho effettuato alcuni miglioramenti al programma, la maggior parte nel l'editore dei suoni AMIGA: ho cambiato lo sfondo, che sono due, uno per gli AMIGA NTSC ed uno per gli AMIGA PAL; ho adattato il programma ai colori del nuovo sfondo. Ora il salvataggio del suono è pienamente funzionante e senza bachi! La posizione degli eventi trascinati è corretta anche verso sinistra, cioé con valori negativi. Ho cambiato le due immagini di sfondo, una per gli AMIGA PAL ed una per gli AMIGA NTSC; penso che queste siano semplici ma migliori delle precedenti; ho migliorato la gestione delle linee marcatrici del suono. Ho corretto l'errore di salvataggio del suono non codificato nel l'editore del suono; ho cambiato i colori dei testi dei messaggi di salvataggio del suono nell'editore del suono da rosso ad acquamarina. Ho cambiato il colore della visualizzazione della frequenza del suono da grigio ad acquamarina scuro ed ora l'area d'ingrandimento del suono visualizza correttamente la distanza minima tra le due linee marcatrici viola. Ho rimosso un baco minore della visualizzazione dei bottoni di selezione dei canali MIDI ed ho cambiato le due immagini di sfondo. Ho migliorato al massimo delle mie possibilità il conteggio delle battute nel l'editore della sequenza. Ora potete tagliare e salvare i vostri suoni AMIGA; ripuliti parte del codice e della grafica! Corrette delle cose sbagliate ed aggiunte delle altre nuove. Ora la la selezione degli eventi musicali con l'area del mouse dovrebbe funzionare alla grande; ora le zone di selezione dell'editore della sequenza non dovrebbero venire più sovrascritte se si entra nell'editore del suono. Corretti degli errori ed effettuati dei miglioramenti; aggiunta l'evidenziazione degli eventi musicali uguali all'evento corrente selezionato. Corrette alcune cose sbagliate; ora l'evidenzazione non è più oppressiva! Ora il suono caricato nell editore del suono cambierà per le azioni dell'utente così i cambiamenti possono essere ascoltati in qualsiasi momento! Ora se nessun suono è stato caricato nell'editore del suono comparirà il pannello di richiesta per informare di caricarlo. La conversione del codice ha portato ad una completa pulizia della procedura di caricamento del MIDI file che ora non dà errore subito come prima; comunque non abilitate il debugger prima di compilare! Ho creato una gestione propietaria delle zone cosi ora tutti i bottoni dovrebbero funzionare bene! Ora l'intero suono caricato nell'editore del suono può essere centrato sullo zero; questa è detta anche rimozione dell'offset di corrente continua. Ora è possibile caricare e salvare campioni grezzi, ed inoltre la variazione della frequenza viene salvata se il suono è un suono AMIGA base. Ho corretto un'errore di digitazione che vanificava l'area di selezione dell'editore della sequenza; ora dovrebbe essere tornata. Ho risolto i problemi di salvataggio dei suoni e della gestione dei bottoni del pannello di richiesta propietario; ho anche corretto il conteggio degli spazi nei messaggi dell'editore del valore dell'evento base e ho fissato la fonte per le finestre. Ho fallito nel risolvere l'erroneo caricamento delle note, ma ho notato che il valore dei TIC PER NOTA DI UN QUARTO dei brani MIDI di Bars&Pipes caricati è impostato a zero; ho corretto questa stranezza e ho corretto il problema di visualizzazione nel menù dei brani caricati. Eseguite alcune migliorie. A seguito dell'ottimizzazione del conteggio delle battute nell'editore della sequenza gli ottavi ed i valori inferiori sono ora correttamente gestiti! Ho aggiunto all'archivio il file extra del sorgente (AmySequencer.bb2.xtra): ciò perché prima di compilare il codice sorgente con Blitz2 o AmiBlitz2 dovete disabilitare il controllo degli errori per consentire al comando SetPeriod di funzionare e poi portare a 33 suoni il numero massimo di suoni ed a 6 il numero massimo di gadgetlist da gestire; se non volete fare tutto questo, per un corretto funzionamento di AmySequencer c'è già questo file extra con tutti i dati necessari. Ci sono due bachi noti: il primo è che se voi premete il tasto Esc mentre il programma sta suonando, vi mostrerà parole censurate in una finestra di dialogo e si fermerà poi drammaticamente! Il secondo è che con il caricamento di alcuni file MIDI il programma non si accorge della fine del file ed entra in un ciclo infinito di lettura, costringendo l'utente ad un riavvio dell'AMIGA! Ora le sequenze sono più piccole ed ho corretto un problema di conversione del tempo del file MIDI caricato, ma questo è comunque ancora un problema. Eseguiti dei miglioramenti visibili generali. Ora l'adf è migliore e autoavviante. La segnalazione di bachi ed i suggerimenti sono benvenuti! Non sono responsabile di alcun danno che questo programma può arrecare al vostro sistema; lo usate a vostro esclusivo rischio! Per finire guardate siti sul Web ai seguenti indirizzi: http://www.stefanomaria.altervista.org http://www.esseemmeerre.altervista.org Non dimenticate di visitare http://www.github.com cercando il mio nome per guardare i miei codici sorgenti! Ciao!