Bintracker - New Beeper Music Editor

On the creation of AY or Beeper music, including the packages used to do so.
User avatar
utz
Berk
Posts: 15
Joined: Wed Nov 15, 2017 9:04 am
Contact:

Bintracker - New Beeper Music Editor

Post by utz » Thu Nov 16, 2017 10:57 am

Bintracker is the latest addition to the family of beeper music editors. It's a PC-based tool, like Beepola and 1tracker. From Beepola, it inherits the more conventional and well-known pattern/sequence workflow, as opposed to 1trackers more experimental "endless pattern" approach. From 1tracker, it inherits the idea of using a plug-in system, so you can easily add support new engines without modifying the bintracker executable.

Image


At the moment, Bintracker supports a handful of my new beeper engines, including PhaserX and PhaseSqueek.

Bintracker is free and open-source, and will run on Windows and *nix systems. It should theoretically also work on Mac, but nobody has tried yet.
download
source code
website

Bintracker is currently in an early beta stage. That means it is quite usable at this point, but may still contain quite a few bugs and rough edges here and there. If you do find a bug or want to request a feature, please do so in this thread, or (preferably) through the official issue tracker.
2 x

HexTank
Berk
Posts: 12
Joined: Sun Nov 12, 2017 9:11 pm

Re: Bintracker - New Beeper Music Editor

Post by HexTank » Thu Nov 16, 2017 11:47 am

Nice one, I might give this a try. Something that's annoyed me is modern trackers that try to keep retor for whatever reason, things like GoatTracker for C64 is annoyingly needless and there's no reason why these softwares can;t just use native UI layouts, but that asside, lack of undo features and what not was a PITA.

I will give this a play over the weekend and give you some feedback as I've yet to see a decent speccy tracker, may be this is the one. :)

Is it PC based only or is there a Mac version too?
0 x

User avatar
utz
Berk
Posts: 15
Joined: Wed Nov 15, 2017 9:04 am
Contact:

Re: Bintracker - New Beeper Music Editor

Post by utz » Thu Nov 16, 2017 1:49 pm

HexTank wrote:
Thu Nov 16, 2017 11:47 am
there's no reason why these softwares can;t just use native UI layouts
There is, actually. Trackers are resource-hungry programs (they're essentially emulators with extra cream added), and native UI kits are simply too slow for creating a tracker UI from them. Hence, pretty much all existing trackers targetting 8-bit platforms use custom text/bitmap based UIs. Also, native UIs obviously aren't portable, so you'd have to write custom code for each platform you want to support (or use something dreadful like wxWidgets... no, please don't get me started on that...)

That said, I agree that for example Goattracker UI is not ideal, and misses a lot of chances that cross-development offers. For example, on a PC based tracker the user doesn't need to be tortured with all those ugly tables. Ideally, that stuff would be handled through drawing graphical envelopes, which are then silently converted into automatically optimized data tables by the backend. This is something I want to focus on with bintracker in the future. However, having worked the tracker for more than a year to get it to the current stage, I can assure you that this stuff is anything but trivial to implement.
HexTank wrote:
Thu Nov 16, 2017 11:47 am
Is it PC based only or is there a Mac version too?
In theory, bintracker should run on Mac. However, I don't have access to a Mac and I haven't set up CI either, so I can't provide Mac builds myself at this point. So, it'd be great if somebody were to take up the challenge to compile Mac builds.
0 x

HexTank
Berk
Posts: 12
Joined: Sun Nov 12, 2017 9:11 pm

Re: Bintracker - New Beeper Music Editor

Post by HexTank » Thu Nov 16, 2017 2:09 pm

Modern PCs have many threads for UI, having one deal with the playback is a non-issue, if emulators don't exahust much CPU, sound alone is neither here or there, of course, it's easier not to but nonetheless.

The issues with GoatTracker wasn't one of instrument or the layout being an issue, normal menu functionality could have easily been on menus but you need to swap around for disk-ops with F keys, it's rather cumbersome, my main gripe was a lack of an undo feature which I couldn't find if there was one. So you had to save constantly in case a ballsup happened, which in my case, was frequent.

The other issue with GoatTracker, and it does have a Mac version, was the reliance on a NumPad, not great on a laptop that doesn't have one.

None of this is critique per-se, I know vesting time in these things is quite big, just highlighting some bug bears, either way, they're generally easier than doing it on the device itself.
0 x

User avatar
4thRock
Berk
Posts: 26
Joined: Thu Nov 09, 2017 9:35 am
Location: Portugal
Contact:

Re: Bintracker - New Beeper Music Editor

Post by 4thRock » Thu Nov 16, 2017 4:25 pm

I'm a big fan of Beepola, will certainly give Bintracker a try :D
1 x

chrrris
Berk
Posts: 4
Joined: Wed Nov 15, 2017 10:09 pm

Re: Bintracker - New Beeper Music Editor

Post by chrrris » Thu Nov 16, 2017 6:24 pm

Looks very nice utz! I haven't tried it yet, but I will do at some point. I like the idea of plug-ins for new beeper engines, that's exactly what I was hoping to achieve with Beepola 2.0, but I lost momentum on that a bit (the current Beepola is, as I've probably mentioned before, in dire need of drastic re-factoring, if not a total rewrite - it's very hacky). Great to see another option for beeper editing on PC.
0 x

User avatar
4thRock
Berk
Posts: 26
Joined: Thu Nov 09, 2017 9:35 am
Location: Portugal
Contact:

Re: Bintracker - New Beeper Music Editor

Post by 4thRock » Thu Nov 16, 2017 7:29 pm

The software runs fine, but let me add some constructive comments ;)

From a usability point of view, it needs to have active button states.
I was expecting the pattern sequence to scroll when I press play. More visual feedback is needed.

The program window should maximize and try to show the entire pattern.
On a large monitor I should be able to see the entire pattern at once.


Nice-to have future feature: real-time recording of multi-key presses, assigning them to multiple channels as needed. So that you could play chords...


Looking forward to see the program evolve!
2 x

chrrris
Berk
Posts: 4
Joined: Wed Nov 15, 2017 10:09 pm

Re: Bintracker - New Beeper Music Editor

Post by chrrris » Thu Nov 16, 2017 11:10 pm

Having the sequence scroll, and the pattern indicator move, etc, when you press play is really tricky. You are basically running a speccy emulator in the background, but the emulator has to talk the host UI to inform it when to "tick" over to the next note in the pattern, or to tick over to the next pattern in the sequence. Then the UI has to load the pattern, update the position and any other UI bits and pieces without affecting the speed or performance of the emulation at all (otherwise the sound will stutter or go out of tune).

It has to be multi-threaded code. I don't think there'd be any way to make it work in a single thread. In case it's of use to any current or future beeper editor authors, the way beepola does it is to run the emulation in it's own thread, and for each engine there are up to three memory addresses each recorded for "NextPatternTick" and "NextNoteTick". When the Z80 program counter hits one of these memory addresses, the emulator thread posts a WM_USER message to the main UI thread, the UI thread uses these messages to sync the UI to what's going on in the emulator.

It's tricky to get right, and even trickier if (as Bintracker appears to do) you support plugins for new engines. As all the engines in Beepola are hardcoded, I was able to hack stuff - for example, the NextPattternTick and NextNoteTick values for some engines are actually the same memory address, with extra logic to look at other Z80 registers before posting the right messages back to the UI. Tis a bit harder to do that sort of thing with plugins!
1 x

User avatar
4thRock
Berk
Posts: 26
Joined: Thu Nov 09, 2017 9:35 am
Location: Portugal
Contact:

Re: Bintracker - New Beeper Music Editor

Post by 4thRock » Fri Nov 17, 2017 9:52 am

Thanks for explaining.
Sure, that sort of stuff is never easy to implement. That's why there are still command line tools ;)
0 x

User avatar
RMartins
Berk
Posts: 38
Joined: Thu Nov 16, 2017 3:26 pm

Re: Bintracker - New Beeper Music Editor

Post by RMartins » Fri Nov 17, 2017 10:16 am

Nice tool UTZ.
Certainly a nice addition to a ZX musician arsenal :)

Hope to see you make great new music, using it.
0 x

Post Reply