baby-k : VIC20 Tracker for your Browser! :D/
BotB Academy Bulletins
Level 29 Hostist
post #140852 :: 2021.04.28 5:59pm :: edit 2021.06.18 10:00am
  qrqrqr0515_1, JINTAKE, Schallwelle, VinsCool, Cami, cabbage drop, MS, nitrofurano, sean, irrlicht project, Savestate, gotoandplay, damifortune, Warlord, kleeder, petet, now_its_dark, tfx, tael, charlotte and argarak liēkd this
oh wow i made a new toy!!!

give it a spin here:
. . . press any key to start!

you can get it here:

there is a manual here:

v0.8.1 tutorial:

you can see the demo groove playing on hardware here:

i will be creating a discord channel for this
but feedback here or on github is welcome too

there will be bugs!

also i'm only using half of the 0.98kb i left in the VIC20's 3.5kb RAM for the playroutine which means we can have some effects in the future (or more patterns? dunno)!
Level 23 Chipist
irrlicht project
post #140861 :: 2021.04.29 7:10am
  argarak, puke7 and nitrofurano liēkd this
oh yeah baby! looking fantastic.
couple things i noticed while giving it a quick run:
- keyboard input is pretty sluggish (ff on linux, hardware accel not fully working)
- F7 toggles Caret mode on ff, so don't use that for play-from-here, use Enter instead
Level 29 Hostist
post #140862 :: 2021.04.29 7:40am
  nitrofurano liēkd this
oh yeah -- i was originally targeting electron

so i've only tested this thing on Chrome

i bet there is a lag in FireFox because the time i recently opened it in there it was anti-aliasing the display

also f5-f8 aren't implemented yet (whoops)
Level 29 Hostist
post #140869 :: 2021.04.29 12:48pm :: edit 2021.04.29 12:50pm
  VinsCool and argarak liēkd this
v0.8.1 is up:

21.04.29 -- v0.8.1

dvorak (and other?) keyboard support thanks to argarak
firefox pixels nearest neighbor (optimization?)

also -- i tried it on firefox and, yes, it seemed very sluggish
Level 23 Chipist
irrlicht project
post #140880 :: 2021.04.30 1:56am :: edit 2021.04.30 1:59am
yeap still sluggish
what's interesting is, it's registering the keypresses (ie LAST KEY changes, can see the events in ff devtools, too), but doesn't act on them, even though it's not doing anything else (ie it skips keypresses even if there's no repaint or whatever)
Level 27 Mixist
post #140886 :: 2021.04.30 5:14am
that is strange... i've run it on firefox on my thinkpad x230 with intel integrated graphics and it works pretty well. it even works well on my main machine which uses the proprietary nvidia driver which generally has pretty poor hardware acceleration support on firefox.
Level 29 Hostist
post #140923 :: 2021.04.30 10:31am
the sluggishness i was experiencing was mostly just the audio being very ahead of the visual

can you try any other browsers in your OS, irrlicht?
not sure what i can do w/o a gui linux machine, but i am curious
Level 23 Chipist
irrlicht project
post #140939 :: 2021.04.30 1:52pm
  argarak and puke7 liēkd this
not right now, my system is pretty borked. gimme 2 weeks till i'm done with this bintracker feature i'm currently working on, then i'll fix sh*t over here and check it out. if argarak says it works for him then it's probably fine and the problem is on my end.
Level 29 Hostist
post #141029 :: 2021.05.03 11:57am
  sean liēkd this
big ups to sean for being the first person to get a song file to me!!

here's a vid of it playing on my vic! :D

Level 27 Grafxicist
post #141031 :: 2021.05.03 12:36pm
  puke7 liēkd this
heheh,,, its not my greatest piece, but i definitely enjoyed playing around w/ and learning your tracker !!!!
Level 27 Chipist
post #141139 :: 2021.05.05 4:40am
alt+s seems to save the song, but how can we get a .json file? (not finding it documented anywhere yet... :( )
Level 27 Mixist
post #141140 :: 2021.05.05 4:47am
  puke7 and nitrofurano liēkd this
alt+shift+s should do it! i.e. "force donload of Song data" in the manual
Level 27 Chipist
post #141145 :: 2021.05.05 7:15am
  puke7 and argarak liēkd this
@argarak thanks! :)
Level 16 Chipist
post #141157 :: 2021.05.05 12:17pm :: edit 2021.05.05 12:18pm
Incredible! Now I need to try this out and make music for my VIC20! :o
Is it compatible with NTSC too?
[Edit] nevermind I should have read the manual first lol
Level 28 Chipist
post #141404 :: 2021.05.10 7:37pm
  puke7 liēkd this
Played around with this for a few days, some initial thoughts:

* ` for 0 and qwerty for A-F actually makes a lot of sense but messes with my intuition to type the actual digit lol
* F5-F8 would be much appreciated in next release, not being able to play from pattern beginning is an annoyance for my workflow at least.
* I think I ran into a bug with the patterns not updating properly after playing the last pattern row and going to the next song row, maybe has to do with empty song cells? I don't remember the exact scenario though.
* Single global speed/volume column for all patterns is weird but I assume this maybe has to do with fitting the playroutine in unexpanded memory?
* Got confused with .bin/.prg export at first.
* Some of the global keys seem to also affect the grid inputs.

Pretty nifty tracker though, liking it so far
Level 29 Hostist
post #141446 :: 2021.05.11 10:37am
  funute liēkd this
this is great feaback

* (hex input) wouldn't be too hard to use a more traditional input; could be made an option; not sure i'm married to what i did anyways, but hadn't experienced before either
* F5-F8 definitely coming in next release; play from beginning of pattern? I could do that with F7, but I thought that was traditional used to "play from position", but also the spacebar does that. F6 I plan on looping a single song row or it will loop over a song selection if one is made.
* (next pattern bug) I've seen this definitely when using the NXT command, but maybe there is a false order of operations somewhere in the play routine. In the vic20 binary it will actually loop back to the beginning if any of the patterns in a song row are undefined (this needs to be reflected in the tracker).
* speed/vol columns are due to the 3.5kb limited space but I have about 400 bytes of code space left for the playroutine so we might be able to override these tables with commands.
* should i change the documentation around exports?
* def some issues with keys.... didn't know about the grid inputs but there are def some keys you can't use in the string editors becuase global keys stole them

Level 28 Chipist
post #141464 :: 2021.05.11 5:01pm
  nitrofurano liēkd this
I actually like the idea of the current hex input, just takes a bit of getting used to after every other tracker does it the traditional way :)

The export thing is mostly me just being dumb and not realizing that you load .prg's and not .bin's, and also me not fully reading the documentation. If anything maybe explicitly mention that Meta-E exports .prg files and Meta-Shift-E exports .bin files?
Level 26 Chipist
post #141493 :: 2021.05.12 2:57pm
  nitrofurano liēkd this
I tried of these bad machines without a GPU

Firefox 88: Softlocks, Very slow

I didn't tested on my Google Chrome
Level 29 Hostist
post #142594 :: 2021.06.08 2:29pm
  nitrofurano and argarak liēkd this
I can't believe I wasn't hosting this for people:

Adding it to the original post too.

Shoutout to Argarak for making it work on different keyboards!
Level 29 Hostist
post #142886 :: 2021.06.18 10:00am
  Tobikomi, nitrofurano and argarak liēkd this
i tried making a tutorial video:
Level 28 Chipist
post #142908 :: 2021.06.18 10:47pm :: edit 2021.06.18 10:48pm
  puke7 liēkd this
works fine with FireFox 89 on MacOS 10.13.6 with an Intel core I5.
Level 29 Hostist
post #147908 :: 2021.10.15 3:55pm
  nitrofurano, kleeder and argarak liēkd this
new relase:

Fixed some bugs!

text fields allow all character keys
better video sync
missing patterns in row playbacks same on hardware
more thorough checking of json data on load
Level 27 Chipist
post #147944 :: 2021.10.17 1:56am
a question: when shift+ctrl+s "doesn't work", what should we do? (the message "Song Data Donloaded to Cornputer" appears, but not appearing that saving window from the web browser - this is happening on brave-browser, might happen on other chromium-based browsers, but vivaldi seems fine on that )
Level 29 Hostist
post #147955 :: 2021.10.17 11:49am
  nitrofurano liēkd this
awe heck that sucks
i don't think i want to code for browsers anymore :(
uh... well... you could open your browsers developer tools and then type in where the song data is living: ``
but thats not in plain text probably so:
then you could copy pasta that output into a text file and give the necessary .json file extension

but it is unsettling to hear the browser is failing to force donload the song data
is this just more of browsers trying to keep users safe?
thanks, users and browsers ;-;
Level 29 Hostist
post #147957 :: 2021.10.17 2:03pm
  nitrofurano and kleeder liēkd this
oh reread your post and now i'm also wondering if the browser did save it but didn't ask you where you wanted to put it first?
Level 27 Chipist
post #147992 :: 2021.10.19 1:10am :: edit 2021.10.19 4:57am
  puke7 liēkd this
yes, it's more like this (no idea why that happens, and why it happens only sometimes) - and thanks about this developers tools tip! (it wokrs perfectly, after entering "JSON.stringify(" in the console from the developer tools, everything appears there - tested on browsers: waterfox, opera, vivaldi, brave, palemoon...)

LOGIN or REGISTER to add your own comments!