Hoi,
Om het mooie draadje van van Druid (zie https://www.synthforum.nl/forums/showthread.php?s=&threadid=31540) niet te vervuilen, plaats ik dit, op aanraden van een van de moderators, in een aparte topic.
Ook ik speel al heeeeel lang met het idee om een sequencer te bouwen. Ik heb ooit jaren geleden een uitgebreid ontwikkelplan opgesteld, wat ik inmiddels kwijt geraakt ben. Inmiddels ben ik bezig aan een nieuw plan. Ik verdien mijn brood met het ontwikkelen in Microsoft Visual Basic 6, maar voor mijn nieuwe '(prive)-project' heb ik mijn zinnen gezet op de MS .NET omgeving.. en wel het liefst C#.NET.
Eerst en bovenal moet ik zeggen dat ik totaal niet uit ben op een fancy pakket. Geen pianorolls, vooralsnog zeker geen VSTi-support, geen audio, geen gelikte interface (mijn solo-programma's schrikken mensen altijd af qua interface, dus wees gewaarschuwd ), vooralsnog geen arrangeerscherm met verplaatsbare parts, etc. Met andere woorden het moet besist geen mini Cubase kloon o.i.d. worden. Het pakket dat ik voor ogen heb is gebaseerd op mijn tweede grote liefde (dames blijven mijn eerste ) , namelijk een hele basic stepsequencing. Een klein beetje zoiets als Seq303 ooit was, maar dan toch weer heeeeel anders en veel experimenteler (wellicht is wat ik voor ogen heb in eerste instantie te complex, maar zoals ik later in deze post uitleg gaat mijn aandacht in eerste instantie naar timing en MIDI aansturing e.d.). Ik heb het niet-technische ontwerp qua sequencer nu duidelijk op mijn netvlies, binnenkort hopelijk op papier en hopelijk ooiitttt gecompileerd als een executable. In een ideaal geval kan het programma alle sequences exporteren naar een MIDI file die je vervolgens in een fatsoenlijke sequencer verder kan bewerken. Voor de duidelijkheid zeg ik er maar bij dat ik dus puur aan een standalone programma zit te denken niet aan een VSTi-instrument of iets dergelijks of een MIDI plugin.
Ik heb dus gekozen voor C#.NET als taal, omdat ik graag eens uitgebreider met die taal aan de slag wil. Ik weet dat ik me daarmee vastpin op het Windows platform, maar daar heb ik persoonlijk geen moeite mee (ik weet zeker dat ik hiermee mensen teleurstel, het spijt me...). Waar ik meer benieuwd naar ben is of ik met de .NET omgeving fatsoenlijke timing (hoeft niet perfect te zijn...) kan realiseren en een goede communicatie kan hebben met MIDI-poorten.
Ik zal mijn zoektocht denk ik moeten starten naar fatsoenlijke bestaande libraries voor deze taken (timing en MIDI aansturing), aangezien ik volgens mij te weinig kennis heb van de low-level werking van Windows om dit zelf te kunnen ontwikkelen (ik heb een boek over het aansturen van MIDI in Windows (zie http://www.maxmidi.com), maar de code in dit boek werkt niet met 2000/XP en al helemaal niet met .NET. Ik denk als ik dit zelf moet gaan ontwikkelen of vastloop op het timing-verhaal en zowiezo heel veel tijd verlies, maar ik weet niet of er (betaalbare!) bestaande libraries zijn of wellicht zelfs open-source projecten. Ik kan me voorstellen dat ik de code die in het genoemde boek staat om MIDI files te schrijven wel kan vertalen. Als iemand aanraders heeft voor bestaande code voor timing en/of MIDI-aanturing, ik dat heel graag zou willen horen. Ik ga natuurlijk nu zelf Googlen, maar als iemand ervaring heeft met bestaande code hoor ik dat erg graag.
Ik stel me voor dat je bij een dergelijk project eerst moet zorgen voor een stabiele, goed draaiende 'MIDI engine', die met een fatsoenlijke timing noten kan uitspugen naar een enkel kanaal op een enkele MIDI-poort. Later naar meerdere kanalen op een MIDI poort en hopelijk uiteindelijk naar verschillende MIDI-kanalen op verschillende poorten tegelijk. Ik geloof sterk in een stap-voor-stap benadering bij het bouwen van een dergelijk project. Ik stel me voor dat dit ook met een bestaande library (als die bestaan..) een flinke kluif is, zodoende is dit het eerste waar ik me op zal concentreren. Ik denk dat het pas zin heeft om code te gaan schrijven voor de sequencer zelf als dit gerealiseerd is. Dus pas als de aansturing voor elkaar is, denk ik verder aan technische invulling van de sequencer (als bijvoorbeeld het me niet lukt om meerdere MIDI-poorten te synchroniseren (ik zeg maar wat), kan ik altijd mijn ontwerp aanpassen hierop).
Nou, tis een beetje erg lange post geworden, maar als iemand opmerkingen, suggesties (ook al is het in het kader van 'Doe het niet!') of wat dan ook heeft, dan hou ik me aanbevolen. Ik hoop dat deze posting hier mag staan, ik kan me voorstellen dat men hem te technisch vind, maar dat hoor en/of zie ik vanzelf dan wel. Mijn insteek is dus precies het tegenovergestelde dan die van Druid (dat draadje volg ik uiteraard ook op de voet), want ik weet al WAT ik zo'n beetje wil hebben, alleen ben nog zoekende naar HOE... ik hoop daarom dat deze topics naast elkaar mogen blijven, maar uiteraard heb ik daar niets over te zeggen.
Bedankt voor de aandacht.
Groetjes,
Vincent aka Ironfreq
Om het mooie draadje van van Druid (zie https://www.synthforum.nl/forums/showthread.php?s=&threadid=31540) niet te vervuilen, plaats ik dit, op aanraden van een van de moderators, in een aparte topic.
Ook ik speel al heeeeel lang met het idee om een sequencer te bouwen. Ik heb ooit jaren geleden een uitgebreid ontwikkelplan opgesteld, wat ik inmiddels kwijt geraakt ben. Inmiddels ben ik bezig aan een nieuw plan. Ik verdien mijn brood met het ontwikkelen in Microsoft Visual Basic 6, maar voor mijn nieuwe '(prive)-project' heb ik mijn zinnen gezet op de MS .NET omgeving.. en wel het liefst C#.NET.
Eerst en bovenal moet ik zeggen dat ik totaal niet uit ben op een fancy pakket. Geen pianorolls, vooralsnog zeker geen VSTi-support, geen audio, geen gelikte interface (mijn solo-programma's schrikken mensen altijd af qua interface, dus wees gewaarschuwd ), vooralsnog geen arrangeerscherm met verplaatsbare parts, etc. Met andere woorden het moet besist geen mini Cubase kloon o.i.d. worden. Het pakket dat ik voor ogen heb is gebaseerd op mijn tweede grote liefde (dames blijven mijn eerste ) , namelijk een hele basic stepsequencing. Een klein beetje zoiets als Seq303 ooit was, maar dan toch weer heeeeel anders en veel experimenteler (wellicht is wat ik voor ogen heb in eerste instantie te complex, maar zoals ik later in deze post uitleg gaat mijn aandacht in eerste instantie naar timing en MIDI aansturing e.d.). Ik heb het niet-technische ontwerp qua sequencer nu duidelijk op mijn netvlies, binnenkort hopelijk op papier en hopelijk ooiitttt gecompileerd als een executable. In een ideaal geval kan het programma alle sequences exporteren naar een MIDI file die je vervolgens in een fatsoenlijke sequencer verder kan bewerken. Voor de duidelijkheid zeg ik er maar bij dat ik dus puur aan een standalone programma zit te denken niet aan een VSTi-instrument of iets dergelijks of een MIDI plugin.
Ik heb dus gekozen voor C#.NET als taal, omdat ik graag eens uitgebreider met die taal aan de slag wil. Ik weet dat ik me daarmee vastpin op het Windows platform, maar daar heb ik persoonlijk geen moeite mee (ik weet zeker dat ik hiermee mensen teleurstel, het spijt me...). Waar ik meer benieuwd naar ben is of ik met de .NET omgeving fatsoenlijke timing (hoeft niet perfect te zijn...) kan realiseren en een goede communicatie kan hebben met MIDI-poorten.
Ik zal mijn zoektocht denk ik moeten starten naar fatsoenlijke bestaande libraries voor deze taken (timing en MIDI aansturing), aangezien ik volgens mij te weinig kennis heb van de low-level werking van Windows om dit zelf te kunnen ontwikkelen (ik heb een boek over het aansturen van MIDI in Windows (zie http://www.maxmidi.com), maar de code in dit boek werkt niet met 2000/XP en al helemaal niet met .NET. Ik denk als ik dit zelf moet gaan ontwikkelen of vastloop op het timing-verhaal en zowiezo heel veel tijd verlies, maar ik weet niet of er (betaalbare!) bestaande libraries zijn of wellicht zelfs open-source projecten. Ik kan me voorstellen dat ik de code die in het genoemde boek staat om MIDI files te schrijven wel kan vertalen. Als iemand aanraders heeft voor bestaande code voor timing en/of MIDI-aanturing, ik dat heel graag zou willen horen. Ik ga natuurlijk nu zelf Googlen, maar als iemand ervaring heeft met bestaande code hoor ik dat erg graag.
Ik stel me voor dat je bij een dergelijk project eerst moet zorgen voor een stabiele, goed draaiende 'MIDI engine', die met een fatsoenlijke timing noten kan uitspugen naar een enkel kanaal op een enkele MIDI-poort. Later naar meerdere kanalen op een MIDI poort en hopelijk uiteindelijk naar verschillende MIDI-kanalen op verschillende poorten tegelijk. Ik geloof sterk in een stap-voor-stap benadering bij het bouwen van een dergelijk project. Ik stel me voor dat dit ook met een bestaande library (als die bestaan..) een flinke kluif is, zodoende is dit het eerste waar ik me op zal concentreren. Ik denk dat het pas zin heeft om code te gaan schrijven voor de sequencer zelf als dit gerealiseerd is. Dus pas als de aansturing voor elkaar is, denk ik verder aan technische invulling van de sequencer (als bijvoorbeeld het me niet lukt om meerdere MIDI-poorten te synchroniseren (ik zeg maar wat), kan ik altijd mijn ontwerp aanpassen hierop).
Nou, tis een beetje erg lange post geworden, maar als iemand opmerkingen, suggesties (ook al is het in het kader van 'Doe het niet!') of wat dan ook heeft, dan hou ik me aanbevolen. Ik hoop dat deze posting hier mag staan, ik kan me voorstellen dat men hem te technisch vind, maar dat hoor en/of zie ik vanzelf dan wel. Mijn insteek is dus precies het tegenovergestelde dan die van Druid (dat draadje volg ik uiteraard ook op de voet), want ik weet al WAT ik zo'n beetje wil hebben, alleen ben nog zoekende naar HOE... ik hoop daarom dat deze topics naast elkaar mogen blijven, maar uiteraard heb ik daar niets over te zeggen.
Bedankt voor de aandacht.
Groetjes,
Vincent aka Ironfreq