Pro Tracker - Binaries edition

by snout on 07-01-2007, 18:05
Topic: Software
Tags: Utilities
Languages:

Following the addition of Pro Tracker to our freeware MSX downloads corner and a request of spl on our active MSX Forum, ro decided to get cracking again - litterally - and sent us a files-version of Pro Tracker. This makes it a lot easier to use Pro Tracker in a development environment. Both the files and disk-version of Pro Tracker can be downloaded right here.

Relevant link: Pro Tracker

Comments (20)

By wolf_

Ambassador_ (9896)

wolf_'s picture

07-01-2007, 18:29

ro's first intrinsic production in .. 9 years? Running Naked in a Field of Flowers

By ro

Scribe (4485)

ro's picture

07-01-2007, 19:20

mm, sort of yeah. Smile
1997 was the last time I *released*/did something iirc....

I'm even looking into old sources as we speak, see if there's some hidden treasure to dig up again. well, nothing there except some unfinished game coding (incl gfx, music and other nonsense) I even did a little f-kernel/midas checking and updating last week (in order to get busy on pro-tracker... yup, WBASS environment all over!)

Running Naked in a Field of Flowers

By snout

Ascended (15184)

snout's picture

07-01-2007, 19:44

It's good to have you back, ro! Keep it up! Perhaps that MRC Mega Challenge is just the thing for you? :P

By wolf_

Ambassador_ (9896)

wolf_'s picture

07-01-2007, 20:43

ro, we (edwin+me) did RNFF in about 5 days, and while it could use another 2 days worth o' polishing, it's still possible to make MSX games reasonably fast.. just get cracking! Or .. uhm... are you too n00b? Tongue Ah, I just don't think you can do a game in .. 3 months .. Tongue Wanna prove me wrong? Running Naked in a Field of Flowers

By wolf_

Ambassador_ (9896)

wolf_'s picture

07-01-2007, 20:47

The last time I saw Fubsy or Flicky, or whatever that creep is called, one could move around decently, it was almost like 'something'.. just finish it and you'll have a very potent MSX2 game entry!

By ro

Scribe (4485)

ro's picture

08-01-2007, 11:18

I know things can be done very quick (when one has a few days off) I remember the Picture Disk game menus I wrote we're all a weekend work (I wrote a platform, shooter, race and another platform game). Just like the Muzax series, all it took was 20 hours of non stop coding and viola.

But these are other times, I've got a full time job and a family to support. Crying
Together with all other activities it'll be hard to come up with "something" even within a 3month time table. But oh well, I found my self doing a bit of coding again last week and it was fun. I'm even, sssssst, polishing some Oracle stuff. Gheh, can you believe it. Meanwhile there's still this "project" I've been thinking about for the last 10 years: A new updated SEE. The current version (3.x) is a bit lame, it works good but the interface ain't all that. BUT, remember kids, I'm lazy (read: don't have much spare time) so we'll see (as in using yer eyes.. very confusing calling a util "see".. gheh)

so, wolf, let's finish fubsy Wink and let's not forget to do some occasionally Running Naked in a Field of Flowers

By Manuel

Ascended (18162)

Manuel's picture

08-01-2007, 11:55

ro, why don't you discuss it a bit in Nijmegen, the 20th. Wolf will be there, Savvy said he'd come by as well Tongue

By wolf_

Ambassador_ (9896)

wolf_'s picture

08-01-2007, 11:56

I was making some drums for our games with SEE, yesterday, is it actually possible to wipe a step's contents without erasing a whole row?

Terrible interface Tongue

By ro

Scribe (4485)

ro's picture

08-01-2007, 12:42

manuel: nope, sorry no can't do. I wrote you an e-mail earlier about that. Say hai to Saffy for me Wink
wolf: Nope, only row deletion. It's indeed terrible . . . Oracle HAS that feature (ins/del per channel or row). I wanted to make SEE more like Oracle. I know you don't like THAT interface as well, but it's at least better as the current one. (to be honest, I think Oracle has one of the most sophisticated MSX tracker interfaces... but hell)

I've got some SEE drums already, I think I even added them on the original ORC release...

snout: challenge? neh....

By wolf_

Ambassador_ (9896)

wolf_'s picture

08-01-2007, 13:47

The problem with the Orc interface is that it's made by a coder who thinks in terms of logic, tidyness, hiarchy, feature-overcompleteness.. Tongue As far as I'm concerned the Impulse Tracker shortcuts are the most fast 'n optimized ones in the industry, why not adapt them instead?

One of the problem with coders is that they often regard a musical pattern as a 2d table, and start inventing block features based on, for instance, image editing (which is also 2d) or map editing. This is music we're talking about, and music works a slight bit differently compared to normal 2d data. For this reason, a number of 2d block features are not exactly required, while a few others are omitting atm. Also important is the location of certain shortcuts. It's completely irrelevant to have all block keys sorted to a combi key, sure it might look tidy and logical, but what do I care about tidyness in the end? Often used functionality should have a straight hotkey at a VERY convenient place, all the less used stuff may use crappy combinations no-one likes. So, this is what I mean with the that Orc was made by a programmer. Tongue

Another idea could be perhaps to completely ditch the whole msx tracking and make a PC tracker controlling an emulator like openMSX (which can accept external input), this way one can support all the PC keyboard keys, make fast editors, have high resolutions, bitmap modes for off-the-grid features that you couldn't just do in screen 0, etc. Only drawback is that sound emulation is far from perfect yet.

By ro

Scribe (4485)

ro's picture

08-01-2007, 14:39

so, basically, having a "keyboard layout/shortcut" editor on board would fix that problem? (set keys to every ones liking)
Dunno exactly whadaya mean with the block stuff. What's good and wot's not?

I just discovered a major bug in orc, which I'm not gonna tell you about Tongue
(neh, it's simple. oracle HATES long paths, more than 64 chars would crash the system... have to fix that)

By wolf_

Ambassador_ (9896)

wolf_'s picture

08-01-2007, 15:02

block stuff: iirc Orc has all the block functionality combined with [ code ] orso, or [graph] dunno.. this may seem logical but it's not the fastest.. solution.

key config: user config would do, but things could be a bit better than that: in modern PC trackers there's the option for double-press a key while not releasing a combi key. An example: in ST3, IT and ReViSiT one can press ALT-L to quick select the whole channel at cursorX (doesn't matter the cursorY), if you however don't release the ALT key and press another L then you select the whole pattern, then if you press L again you select the channel again, etc.
ALT-K in ST3/IT/ReViSiT interpolates between start/end volume of a block, but the next K (while still holding down the ALT key) wipes all volume info from the block. Same for ALT X and ALT XX (interpolate blocked fx channel and wipe blocked fx channel ) This is far more efficient than wasting extra keys for this extra functionality, esp. since there aren't that many keys at one's disposal.

Also channel muting has some particularies: ALT-F10 solo's a channel, another ALT-F10 on the SAME channel unsolo's a channel, but another ALT-F10 on another channel solos that other channel. These keys are so blazingly fast and efficient I wouldn't ever want to go back to anything else. It's not a matter of getting used to, I'm also used to MBWave, but nothing I've seen is so optimized for speed as the ST3/IT/ReViSiT keys.

So, user key-config could be nice, but then you must support these double functions, and add quite some more methods for added functionality.

By ro

Scribe (4485)

ro's picture

08-01-2007, 15:42

The double key routines would not be difficult to implement, not at all. But in combo with a key layout editor it get's messy I think.
There's indeed the solo/mute stuff that could use some more attention. (like realtime muting/soloing). oh well, we're talking 80ties/90ties software here.
But it might be handy to do some checking on that while re coding SEE. There's tons of other stuff to implement... sight. In combo with, for example, PT3 or whatever. I understand u use a PC tracker for editing and a custom PSG driver (as used in UU for example).
Thaz like PT/vortex, it's cool. We only need a good music replayer (aka driver). But for Sound FX.....

(still don't understand what's with the "2d" block thinking? whataya mean with that?)

By wolf_

Ambassador_ (9896)

wolf_'s picture

08-01-2007, 16:36

No, UU was made in MBWave, our yet to be finished game will be done in IT, using samples of PSG, SCC, and PSG-drums. (in IT you can disable any interpolation in the mixing process which results in the same gritty sound as the scc music we already know!)

The multi-key stuff is quite easy. For each key (az 09 F-keys -=_+,.;'[] etc.) you reserve a byte which remembers the amount of times you pressed such a key. Releasing a combi-key, and pressing a combi-key zeros all these bytes. Then in some key-assign config you simply have a list of methods, a list of (combi)keys and some column in which you give the amount of times a key has been pressed.
Typical methods are:
block whole channel at cursorX, block whole pattern, block start at cursorXY, block end at cursorXY, transpose note in current cell +1, transpose note in current cell -1, transpose block contents +1, transpose blockcontents -1, setcursorstep to 1,setcursorstep to 2, setcursor... ..9, quickselect 16step block at cursorXY (this '16' is usually related to some row highlighter) etc. etc. imagine anything small, anything irrelevant, doesn't matter, there's always some geek who wants to use it.. ;P In case you need help, just beep, I could come up with oodles o' methods.

so imagine this potential Orc screen:

-----------------------------------------------------------------------------------------------
| Oracle keybord config          | Know the one 'bout the Belgian Horse? We still don't..     |
-----------------------------------------------------------------------------------------------
method:                                  combi     key     times    perform if condition = true
-----------------------------------------------------------------------------------------------
blockselect whole channel                Gr        L       1        always
blockselect whole pattern                Gr        L       2        always
tranpose note in cell +1                 Gr        Q       1        cursor not in block
tranpose note in cell -1                 Gr        A       1        cursor not in block
tranpose notes in block +1               Gr        Q       1        cursor in block
tranpose notes in block -1               Gr        A       1        cursor in block
solo channel at cursorX                  Gr        Select  1        channel is not muted
unsolo channel at cursorX                Gr        Select  1        channel is muted
interpolate volume in block              Gr        K       1        always
wipe volumes in block                    Gr        K       2        always
halve block contents                     Gr        H       1        always
double block contents                    Gr        G       1        always
copy block contents                      Gr        C       1        always
paste-insert clipboard                   Gr        P       1        always
paste-overwrite clipboard                Gr        O       1        always
goto next pattern                        -         num+    1        always
goto previous pattern                    -         num-    1        always
play song from start                     -         F1      1        always
play pattern from row 0                  -         F2      1        always
play song from cursor                    -         F3      1        always
stop playing                             -         F4      1        always
set cursorY step to 1                    Gr        1       1        always
set cursorY step to 2                    Gr        2       1        always
set cursorY step to 3                    Gr        3       1        always
set cursorY step to 4                    Gr        4       1        always
set cursorY step to 5                    Gr        5       1        always
set cursorY step to 6                    Gr        6       1        always
set cursorY step to 7                    Gr        7       1        always
set cursorY step to 8                    Gr        8       1        always
set cursorY step to 9                    Gr        9       1        always
move cursor to next channel              -         TAB     1        always
move cursor to previous channel          Sh        TAB     1        always
move cursor to next channel              -         Right   1        always
move cursor to previous channel          -         Left    1        always
grab channel-row contents to channelmask -         Enter   1        always
place channelmask                        -         Space   1        always
-----------------------------------------------------------------------------------------------

The conditions should come from some popup menu when the cursor is on it. The times a key is pressed deserves a little extra detail: If a user sets it to '2' and nowhere any higher than that, then it means the max value for that key-byte is '2', after which is resets to '1' again. If a key-byte isn't higher than 1, then it means that after pressing this key it's automatically reset to 1, in this case it means you can hold it down and the same method will be called at each key-repeat event, like when transposing, block-pasting etc.

Using something like this, the user has the ultimate freedom to tweak things, and I don't even think it's *that* much extra work, ofcoz you want to dynamically re-assemble these keys into the program orso.

Well, this should keep you busy for a while ^_^ Running Naked in a Field of Flowers

By ro

Scribe (4485)

ro's picture

08-01-2007, 16:54

it's an interesting idea which hasn't been dun on MSX anyway (not that irc)

indeed let's Running Naked in a Field of Flowers first before we get to coding again Smile

By spl

Paragon (1470)

spl's picture

08-01-2007, 18:56

Great Big smile. Thanks RO for the release Smile

By Manuel

Ascended (18162)

Manuel's picture

08-01-2007, 19:54

ro, according to that mail, all you need is a little motivation (done!) and a ride from msd. So, let's arrange the ride and we'll see you there Smile

By msd

Paragon (1462)

msd's picture

08-01-2007, 20:14

You need a ride ro? You can come along like last year.. Michiel drives again.. So free of charge!

By msd

Paragon (1462)

msd's picture

08-01-2007, 20:20

Ro: paths can't be longer than 64... or actually 63 excluding termination character.. Or did you make an own path implementation? Tongue

By ro

Scribe (4485)

ro's picture

08-01-2007, 20:37

yes I did Smile (sort of, it's a file check routine that take splits drive/path/file (e.g. for use in dos 1) and there's the crux.. )