echolevel / bootPT

Bootable Amiga floppy disk image with Syphus' custom Protracker build
30 stars 2 forks source link

REQ: play/stop/pattern-change through MIDI IN #7

Open ferro4prez opened 2 years ago

ferro4prez commented 2 years ago

Hi, I hope this isn't a tall order and instead is an interesting thing that would add a lot of value.

Would be incredible if ProTracker's MIDI support could be extended to Stop/Start and Pattern Change messages.

It would instantly lock-in the Amiga with any modern DAW, truly turning it into an instrument rather than an obscure inefficient way to make music. Could leverage different CC parameters for those tasks - Program Change gives you 128 values that can be mapped to ProTracker Patterns. Imagine, in your DAW you simply hit Play and ProTracker would start playing - and you set Program Change values to change ProTracker Patterns in realtime.

Is this crazy? I feel like this could change the landscape of using Amigas for real music in 2022.

echolevel commented 2 years ago

Not only is it not crazy, but some of us (mostly me and Akira) have been trying to get this exact feature-set implemented for at least 20 years :) The main two reasons we haven't managed it are 1) we're both terrible at 68k assembly and 2) PT2.3D's source was such a mess. Every few years we've asked experienced coders (StingRay et al) for help with this, but incentives were low and wider support was almost nonexistent (most other musicians who desperately wanted proper MIDI implementations just used OctaMed instead). Obviously some iterations of Protracker and various SoundTracker clones have some degree of MIDI support - usually limited to start/stop and receiving NoteOn events, and usually a bit flakey.

My live chiptune/demoscene performance setup, as Syphus, was centred around Protracker and AHX on an A600 with selectively muted channels so I could play lead melody lines live on a synth or guitar/violin, and occasionally some A1200 numpad-drumpad stuff. Akira was usually more geared towards DJ sets, and that's why he developed PT-1210 with d0pefish and h0ffman; all the cool features in that program basically made MIDI in Protracker unnecessary for him, and I've been too busy with work and family to perform live for some years now.

More generally, even though 8bitbubsy has done LOADS of fantastic work cleaning up the PT2.3D source (and ultimately iterating it to the 2.3F version that bootPT uses), he discovered that MIDI in that source is essentially a stub - a black hole where some useful MIDI library should be. So it STILL needs a skilled 68k ASM coder to implement this, and it's now easier than it would've been before, but the obstacle is still to find a coder who's willing to invest quite a bit of time into something that's widely considered to be of limited utility. Not to me, or to you! But definitely to most of the (already tiny) user base.

I still nurture a dream of one day having enough free time to learn enough Amiga ASM to be able to introduce some existing serial/MIDI lib into the codebase and implement the stuff you're talking about, but it's not an immediate possibility.

ferro4prez commented 2 years ago

Thank you for the thoughtful response, that was legitimately a super interesting read.

I didn't actually grow up with an Amiga, but I did discover Impulse Tracker in about 1996 as a kid, and that sent me down the rabbit hole of the elusive .MOD format littered all over BBSs of the time.

I just actually signed to Atlantic as a music producer, moved out to LA from Winnipeg (Canada) and finally able to chase a bit of this Amiga stuff! Just got a MiSTer FPGA all wired up through my studio, and the final piece of this obsessive puzzle would be some integration with a DAW. As satisfying as it is to work with the extreme limitations of a tracker environment (man we had a lot of time on our hands as teens lol) I'm just trying to streamline some sort of workflow that's cool and usable rather than a hindrance. The goal being, if I can get this all set up with MiSTer, it might be time to find a real A1200:)

Anyways thanks again, I'll def check out your music and hope we one day are treated to our fantasies becoming reality with this geekery haha.

FERRO http://www.instagram.com/ferropop

On Fri, Feb 18, 2022 at 4:41 AM Brendan Ratliff @.***> wrote:

Not only is it not crazy, but some of us (mostly me and Akira) have been trying to get this exact feature-set implemented for at least 20 years :) The main two reasons we haven't managed it are 1) we're both terrible at 68k assembly and 2) PT2.3D's source was such a mess. Every few years we've asked experienced coders (StingRay et al) for help with this, but incentives were low and wider support was almost nonexistent (most other musicians who desperately wanted proper MIDI implementations just used OctaMed instead). Obviously some iterations of Protracker and various SoundTracker clones have some degree of MIDI support - usually limited to start/stop and receiving NoteOn events, and usually a bit flakey.

My live chiptune/demoscene performance setup, as Syphus, was centred around Protracker and AHX on an A600 with selectively muted channels so I could play lead melody lines live on a synth or guitar/violin, and occasionally some A1200 numpad-drumpad stuff. Akira was usually more geared towards DJ sets, and that's why he developed PT-1210 with d0pefish and h0ffman; all the cool features in that program basically made MIDI in Protracker unnecessary for him, and I've been too busy with work and family to perform live for some years now.

More generally, even though 8bitbubsy has done LOADS of fantastic work cleaning up the PT2.3D source (and ultimately iterating it to the 2.3F version that bootPT uses), he discovered that MIDI in that source is essentially a stub - a black hole where some useful MIDI library should be. So it STILL needs a skilled 68k ASM coder to implement this, and it's now easier than it would've been before, but the obstacle is still to find a coder who's willing to invest quite a bit of time into something that's widely considered to be of limited utility. Not to me, or to you! But definitely to most of the (already tiny) user base.

I still nurture a dream of one day having enough free time to learn enough Amiga ASM to be able to introduce some existing serial/MIDI lib into the codebase and implement the stuff you're talking about, but it's not an immediate possibility.

— Reply to this email directly, view it on GitHub https://github.com/echolevel/bootPT/issues/7#issuecomment-1044461612, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG326RLG56NFORKJCENQW4TU3Y45XANCNFSM5OW5XLJA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

ferro4prez commented 1 year ago

Hey! I hope you're doing well man.

Just picking up where we left off a year ago (haha)... been taking a new approach to incorporating the Amiga into my modern pop workflow, and wondering what you think.

I have the 48gig (!) modarchive torrent, extracted and organized into folders alphabetically, and shared to the Amiga through SMB.

ProTracker dies when attempting to load a large folder (there are tens of thousands of MODs in every folder), so I wrote PowerShell to stuff a folder called "100" with a random fresh collection of MOD files, on demand. This lets me roll the dice, and have 100 MODs available to load up and peruse the samples / play live into my DAW.

Where this sucks is that every time you want to load a new MOD, it's about 7 clicks...and you have to remember your place in the file list, etc... it's just not meant for this purpose.

I'm wondering if you know of anyone who I could pay to edit the ProTracker source to add a "Next/Previous" button to the interface, which would simply load the next/previous MOD in the current folder. Single click - cycle to next/previous MOD.

Basically want to use ProTracker as a glorified sample loader, and use it as a live synth where the focus is to as quickly/effortlessly cycle through instruments. A single click to load a new MOD would be incredible for this purpose - basically an endless source of sounds and inspiration.

Please let me know thoughts!

FERRO

On Sun, Feb 20, 2022 at 10:38 AM Ferro Montanino @.***> wrote:

Thank you for the thoughtful response, that was legitimately a super interesting read.

I didn't actually grow up with an Amiga, but I did discover Impulse Tracker in about 1996 as a kid, and that sent me down the rabbit hole of the elusive .MOD format littered all over BBSs of the time.

I just actually signed to Atlantic as a music producer, moved out to LA from Winnipeg (Canada) and finally able to chase a bit of this Amiga stuff! Just got a MiSTer FPGA all wired up through my studio, and the final piece of this obsessive puzzle would be some integration with a DAW. As satisfying as it is to work with the extreme limitations of a tracker environment (man we had a lot of time on our hands as teens lol) I'm just trying to streamline some sort of workflow that's cool and usable rather than a hindrance. The goal being, if I can get this all set up with MiSTer, it might be time to find a real A1200:)

Anyways thanks again, I'll def check out your music and hope we one day are treated to our fantasies becoming reality with this geekery haha.

FERRO http://www.instagram.com/ferropop

On Fri, Feb 18, 2022 at 4:41 AM Brendan Ratliff @.***> wrote:

Not only is it not crazy, but some of us (mostly me and Akira) have been trying to get this exact feature-set implemented for at least 20 years :) The main two reasons we haven't managed it are 1) we're both terrible at 68k assembly and 2) PT2.3D's source was such a mess. Every few years we've asked experienced coders (StingRay et al) for help with this, but incentives were low and wider support was almost nonexistent (most other musicians who desperately wanted proper MIDI implementations just used OctaMed instead). Obviously some iterations of Protracker and various SoundTracker clones have some degree of MIDI support - usually limited to start/stop and receiving NoteOn events, and usually a bit flakey.

My live chiptune/demoscene performance setup, as Syphus, was centred around Protracker and AHX on an A600 with selectively muted channels so I could play lead melody lines live on a synth or guitar/violin, and occasionally some A1200 numpad-drumpad stuff. Akira was usually more geared towards DJ sets, and that's why he developed PT-1210 with d0pefish and h0ffman; all the cool features in that program basically made MIDI in Protracker unnecessary for him, and I've been too busy with work and family to perform live for some years now.

More generally, even though 8bitbubsy has done LOADS of fantastic work cleaning up the PT2.3D source (and ultimately iterating it to the 2.3F version that bootPT uses), he discovered that MIDI in that source is essentially a stub - a black hole where some useful MIDI library should be. So it STILL needs a skilled 68k ASM coder to implement this, and it's now easier than it would've been before, but the obstacle is still to find a coder who's willing to invest quite a bit of time into something that's widely considered to be of limited utility. Not to me, or to you! But definitely to most of the (already tiny) user base.

I still nurture a dream of one day having enough free time to learn enough Amiga ASM to be able to introduce some existing serial/MIDI lib into the codebase and implement the stuff you're talking about, but it's not an immediate possibility.

— Reply to this email directly, view it on GitHub https://github.com/echolevel/bootPT/issues/7#issuecomment-1044461612, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG326RLG56NFORKJCENQW4TU3Y45XANCNFSM5OW5XLJA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>