WaveTracker Format
BotB Academy Bulletins
 
 
197063
Level 10 Chipist
retrokid104
 
 
post #197063 :: 2024.09.09 1:25pm
  
  RevvoBolt, Surfcroc, Viraxor, Collidy, Juan Reina, ItsDuv, damifortune, nitrofurano and Hexer liēkd this
I know some people here have already heard of this program (looking at you, Dami) but I'm passing along the info anyways since I haven't seen a dedicated thread for it yet.

Submissions would probably just be .wtm files, the WaveTracker module format.

https://wavetracker.org/

If need be I can whip up a Lyceum page on it if there isn't one already.
 
 
197075
Level 29 Chipist
nitrofurano
 
 
 
post #197075 :: 2024.09.09 4:37pm :: edit 2024.09.09 5:02pm
  
  DefenseMechanism, retrokid104 and Talen liēkd this
i'm trying to run it on wine or mono, on gnu/linux (ubuntu 24.04) - doesn't run at all - and the same will happen on macos-x for sure - so, i'm totally against the inclusion of this battle format while gnu/linux and macos-x (at least) can't run it (i think i'm not alone...) (this issue is actually mentioned at the faq of its website) (tools made in c# are usually a huge headache because of this)
 
 
197076
Level 31 Chipist
damifortune
 
 
 
post #197076 :: 2024.09.09 4:49pm
  
  Viraxor, retrokid104, Juan Reina and nitrofurano liēkd this
i would definitely love for the multiplatform issue to be solved but aside from that do really want it to be a format here
 
 
197082
Level 29 Chipist
nitrofurano
 
 
 
post #197082 :: 2024.09.09 5:15pm
  
  Viraxor and Juan Reina liēkd this
  
  SRB2er, arceus413, DuccBoi and kleeder hæitd this
if that eventually happens, i hope being able to make and submit .wtm files made from hexdumps or scripting! xD
 
 
197108
Level 24 Chipist
Collidy
 
 
 
post #197108 :: 2024.09.10 6:37am :: edit 2024.09.10 7:38am
  
  Viraxor, nitrofurano, retrokid104 and SRB2er liēkd this
Holly molly squiggy's program has been released? So awesome.

I've been waiting for their program to be released since he uploaded their rolling down the street cover using that tracker.

Edit: as an intro, I'd say we host wildchip ohb using this program
 
 
197110
Level 10 Chipist
retrokid104
 
 
post #197110 :: 2024.09.10 7:48am
  
  Collidy liēkd this
@Collidy yeah that could be cool too. If you or someone you know is good at art, that could be something for Future Battles.
 
 
197119
Level 20 Chipist
Blast_Brothers
 
 
 
post #197119 :: 2024.09.10 12:31pm
  
  Viraxor, nitrofurano and Kaytse liēkd this
From the website

"'Will there be Linux and MacOS releases?' Right now WaveTracker is Windows only, but myself and other contributors are working as fast as possible to get WaveTracker to be cross-platform!"

So, we could just wait for that. It's the first line of the FAQ which makes me hope that it's an actual priority
 
 
197124
Level 24 Chipist
Viraxor
 
 
 
post #197124 :: 2024.09.10 2:57pm
  
  doopdee, nitrofurano, SRB2er, lasersphaser, nicole and Collidy liēkd this
there's so much happening with trackers rn. it's getting really interesting
 
 
197125
Hi there, I made wavetracker. Yes getting it cross platform is a major priority. Most of the components will actually work cross platform, they aren't tied to windows... but the few parts that are will require some custom implementation of stuff to remove that shackle. IMO think best to hold off on a format until it's actually cross-platform. I can't give a strong estimate of when that will happen since I can only work on it in my free time, but do know that it's at the top of my list!
 
 
197132
Level 23 Chipist
Prestune
 
 
 
post #197132 :: 2024.09.10 9:20pm
  
  Collidy, Viraxor, nitrofurano, damifortune and SRB2er liēkd this
Wow I just tried it out and so far I love it. Especially very intuitive and easy to pick up as someone that mainly uses Famitracker. I would definitely be happy to see it as a format eventually
 
 
197136
Level 23 Chipist
DefenseMechanism
 
 
 
post #197136 :: 2024.09.11 3:46am
  
  VirtualMan, nitrofurano and retrokid104 liēkd this
you can check the progress of the linux port here
 
 
197146
Level 10 Chipist
retrokid104
 
 
post #197146 :: 2024.09.11 7:09am
  
  Collidy, nitrofurano and SRB2er liēkd this
@squiggy whoa, hello! that’s very good to know, I’m glad to hear that the ports are in the works.
I assume the ports are giving trouble because of the necessary rendering software that is required in order to run WaveTracker?
 
 
197177
Level 29 Hostist
puke7
 
 
 
big ups to squiggy 🎉
 
 
197637
Level 7 Playa
Juan Reina
 
 
post #197637 :: 2024.09.17 9:18am
  
  retrokid104 liēkd this
Hey squiggy, nice to meet you. My name is Juan reina, and I was wondering would it be possible for you to have screen reader support in the tracker?
I've always wanted to make music in a tracker but could never do it as trackers don't look to have support for accessibility software very well and of the little tracker devs I've tried to work with over the years, they can't or don't have it on the task list for things that they can do at the moment.
If you do want to help me and more future blind and visually disabled people to get into this world of software, I will assure you that I will help how ever I can!
I can make videos of me using the tracker and what I can currently do with it, and also give you help on what I know about accessibility software like screen readers.
 
 
197638
Level 20 Chipist
SRB2er
 
 
 
post #197638 :: 2024.09.17 9:40am
@Juan Reina
this may sound like me being a dumbass but how can some software not allow screen reading? can't it just... read the text on screen???
 
 
197639
Level 29 Chipist
nitrofurano
 
 
 
post #197639 :: 2024.09.17 10:15am :: edit 2024.09.17 10:23am
  
  Juan Reina liēkd this
@Juan Reina please let us know, as far you tried up to now, which trackers, daws and whatever that does and does not support screen readers, and which operating systems are you using - i'm quite curious about - as from what i can understand, screen readers only can read text used from window manager libraries (like gtk, qt, motif, wxwidgets, etc.), and not those rendered as picture (like sdl, opengl, etc.), so i guess there is why you probably can use text readers on some trackers (like openmpt, famitracker, etc.) and not on some other trackers (like furnace, milkytracker, etc.) - actually, i hope such implementation will not affect that future cross platform support, since i only use gnu/linux (mostly) and macos-x (rarely)
 
 
197839
Level 9 Mixist
cob
 
 
post #197839 :: 2024.09.21 10:06am
  
  nitrofurano, Juan Reina and SRB2er liēkd this
@SRB2er There is so much variance in how text can be displayed in software that it is a serious can of worms to derive the original text data from already-rendered “dumb” pixels — it's extremely complicated if not unfeasible to do this deterministically (and in a way that would actually make sense to an end user) across the variety of languages, fonts, and layouts that can exist in software.

Rather, the vast majority of screen readers rely on the software itself to communicate with the screen reader and provide its underlying text data. Web browsers and native GUI libraries often have this baked-in, as nitrofurano touched on, but there are reasons why it could be non-trivial to implement, such as games/software that don't actually have underlying text data and instead render text by calculating texture coordinates for performance reasons (I suspect this is the camp that most trackers are in). I'm not suggesting that this is impossible to accommodate or not worth the effort, but it is a significant undertaking that requires understanding how screen-reader users will actually use the software and then translating the existing design intent accordingly. Therefore, it's unfortunately not high on the priority list for many developers.
 
 
197841
Level 20 Chipist
SRB2er
 
 
 
post #197841 :: 2024.09.21 10:30am
  
  Juan Reina and cob liēkd this
@cob hoh
didn't think of that tbh

thx for info
 
 
197874
Level 7 Playa
Juan Reina
 
 
post #197874 :: 2024.09.21 11:44pm
  
  nitrofurano, retrokid104 and SRB2er liēkd this
Hello all! I wasn't really expecting much responses for this but as I see that someone is curious and wants to know a little about accessibility software, I will help and give all that I can.


This post will be made in a quote arrangement to make it easier to understand and will be quite long for my explanation so if you're not into that and want to have your info given in voice or can't understand tone through text that well, I have made a video demoing what I can do using accessibility software and general software as well as WaveTracker.


https://drive.google.com/file/d/1_qLm0eeV4ro5khf1HDNGi5rwn6BI9AQU/view?usp=sharing


I took care to highlight the screen and keep the speech of the computer slow so those with transcription can use it if they wish, but at some parts the mic audio will be loud.
Side note; I really need to get mic filters to protect from clipping.
If you use the video please listen through speakers to prevent some ear damage!


The following quote from user @SRB2er was the thing that brought my attention to this and thus accessibility UI implementation information is required to help understand what's actually going on a bit better.

"@Juan Reina
this may sound like me being a dumbass but how can some software not allow screen reading? can't it just... read the text on screen? "

Actually, no it can't, although I could understand you coming to this conclusion.

screen readers don't actually read the text on the screen. See the way how UI works when you make it for accessibility is it has to creat what's known as an accessibility tree, and this basically holds all the information that the screen reader can see and will thus be posted to user when they do something that activates that certain control. This is called semantic information, and it's given when the screen reader gains that information via the application or UI toolkit.

You might not think about it but I actually get that question a lot. Doesn't a screen reader just read the screen?
Well that's sorta misleading in the name but a screen reader also works in tandem with the opperating system to try and relay information to the user with some UI software and over the years has made solutions to try and give information to the user in the form they require. This is called an accessibility API.
So no, it's not a press play and hear all your info given to you kinda thing, that's text to speech and that's something elce.
Screen readers use tts, but they aren't tts. :)

Back to the accessibility tree.
Just like a normal tree that has roots that tell planters what kind of tree it is, accessibility software gets information from the start of the tree as well.

We need to know from the get-go what we're dealing with be it a window or document, and that's what the root's for.

Next we need the controls that the accessibility software will see.
This can include things like: buttons; checkboxes; lists; and forms for example.

After that we need to know where those items are located on screen, the text assigned to those items and all items within those items if anything. These starter items before the root are called the nodes, and the items within those items are called child elements or just children.

for a more in depth understanding of the accessibility tree, you can see this link by Sophie Beaumont who describes a bit more of how this works.

https://sbeaumontweb.medium.com/the-accessibility-tree-understanding-and-debugging-fab9df75a1d0

Now, to WaveTracker.


(if you use something like gtk, qt, electron, etc, those do communicate properly with the screenreader on each operating system, so that's not a problem.
However, with custom UI, such as what can be made with opengl directly, sdl2, tk, etc, lack any semantic information which could tell the screenreader what type of control that is, where it is located on the screen, etc.
So then, an intermediate layer has to be put between the application and the screenreader, which would generally not be cross-platform, include lots of hacks and so on. However, there's a new framework to do that generically, it's called access kit.

https://accesskit.dev/

It's designed for imediate mode UI, so less state to keep around for accessibility specifically, and while it doesn't offer a c# API, the C API is relatively straight-forward and easy enough to either generate or bind manually. It does go through rust, several other abstractions and then it reaches the native platform APIs, so it will be a bit slower than code written against the native API, but this way, there wouldn't need to be a huge amount of effort when writing accessibility for UI like this, especially if you want to target multiple desktop platforms. )


He's not on here but GitHub user Esoteric Programmer was the one that recommended AccessKit and also works on the Linux screen reader called Odilia and gave very important help for this post.

https://odilia.app/


As for me myself I've done a demo with WaveTracker letting people understand what I can do with it, it's in the drive link of this post.
At the moment next to nothing but the window title reads, and to open files with it you have to use the open with dialog, look for wavetracker.exe and then press F5 to play and that's it.


Now to the next post by user @nitrofurano.

"@Juan Reina please let us know, as far you tried up to now, which trackers, daws and whatever that does and does not support screen readers, and which operating systems are you using - i'm quite curious about - as from what i can understand, screen readers only can read text used from window manager libraries (like gtk, qt, motif, wxwidgets, etc.), and not those rendered as picture (like sdl, opengl, etc.), so i guess there is why you probably can use text readers on some trackers (like openmpt, famitracker, etc.) and not on some other trackers (like furnace, milkytracker, etc.) - actually, i hope such implementation will not affect that future cross platform support, since i only use gnu/linux (mostly) and macos-x (rarely.)"


I've used audio editors like: WavePad and GoldWave; Tried and found DAWs extremely cumbersome to use but love the realtime listening; and absolutely dislike mml for both being cumbersome and that lacs the realtime listening to hear my music as I change it.
I like trackers because: most of them have a small interface; are easy to make music for; some of them have the slow ability to put your music down and think everything out and you can listen to every thing as you change it.

I want to work with Openmpt and help them with accessibility but because I haven't heard anything from them in a long time about improvements to that, I am unsure as we would practically need to start from square 1 because Openmpt currently doesn't even allow you to set keyboard shortcuts with out the accessibility software like screen readers getting stuck in the keyboard creator dialog, and this is due to the main program not realising that accessibility software should have handle over the keys as well and that only the first set of key presses are to be passed through to the application.

Along with that they're much more bugs from things like: the sample editor not even being usable; the instrument editor is non focusable as well as the sample list; and the fact that to load a sample doesn't even have a keyboard shortcut to do so along with other bugs.

It's due to this along with the fact that as far as I know Openmpt no longer has accessibility talks going to it has made me not want to engage with it, as I don't think they would like to start from quite square 1 to make sure that all access bugs are done and taken care of.


To put it in a way I love you all and I want to be a part of you people, but I am not a programmer. I can and will help with accessibility but I can't code in the way that blind programmers can.
Over the years I have taken time to write these requests for accessibility within the programs I care for like Lemuroid which is an android emulator project, but when I do work like this I am very serious and well, all I'm saying is I have been given a no on things like this before, and I tend to not really want to work with projects that may give me the run around with very little as I am not that good of a writer and writing in this manner does take time for me.

UI things like ImGUI do make it much easier to make applications sure, but a reason why the blind and other disabilities fear it is through it, more and more programs may not be accessible to those who use screen readers and this has been the main reason why the disabled programmers made AccessKit, but even then it's yet to see if that has an impact on the latency of that info appearing to the screen reader, thus possibly making the program slower in the process as a result of overhead.
Hell screen readers weren't even made via those with sight in the beginning, so that's also why screen readers can also not just, *read the screen*.

This has taken me seven days to write and collect, so I hope this info was helpful.
If I can help with anything more, please do ask!

The screen reader that has the most market is NVDA, a screen reader for Windows.
https://www.nvaccess.org/
 
 
197885
Level 10 Chipist
retrokid104
 
 
post #197885 :: 2024.09.22 8:35am
  
  Juan Reina liēkd this
Funny you mention this, actually. I noticed a request on the Furnace git this morning about adding screen reader support. While I myself don’t have a need for it, I think it’d be a nice feature to add to modern trackers.

While I’m not a programmer (or well, an app programmer. I can do some stuff in Godot lol), I propose we make some sort of global software for screen reader support for modern trackers. Maybe some way to auto-detect running apps and if they’re supported, provide screen reading for them. The more people we can allow to get into this scene and make music, the better, I say!
 
 
197905
Level 7 Playa
Juan Reina
 
 
post #197905 :: 2024.09.22 11:51am
  
  nitrofurano liēkd this
@retrokid104 Can you please point me to this issue?
I've been wanting to help with that for a long time now but like I said when I get to work I am serious, and I am not someone that takes my work for a run around.
I tried the same thing for Deflemask before I got into small talks on the Discord for Furnace, and let's just say that even though we had long negotiations for Deflemask for both sides, ultimately nothing was done.
I also tried to bring user Esoteric programmer on to the issue and as he works as an accessibility programmer he might have had some help as to what we could do for Defle going forward, but because the tracker was already in a non freeware point along with the tracker already being with out accessibility for a long while fast the introduction stage, screen reader usage was not on the list and not much could be done about it.

Ultimately the co dev told me that he would love to do something about it but because of what I'd stated before he redirected me to Furnace, which I fear for as I ultimately don't want to get that kind of feeling again.

There is a reason why I am trying with WaveTracker.

WaveTracker is just starting out which means that accessibility if it were to be taken into account would not be a second class option and in this manner I could keep up to date with UI changes that may hurt access for users of screen readers, but also in this way I would be at a point where I could recommend things that will make working in the tracker more productive.
When users with a dissability work with programmers for accessibility in the free and open source world they will most go for projects that are just starting out for exactly the reasons I pointed out before, as especially for a tracker that has so much UI things that can bug accessibility software, I am quite sure that no person wants to deal with that sort of task going all the way back to square 1, even though the person on the other end would do anything if they could to help.

Not a programmer either man, I'm just a guy with passion and a longing to some day finally fit in with you all. We do have things to help make software more accessible like now with AccessKit, but accessibility solutions aren't something you can just slap software over and everything just works, I'm afraid.
After more and more apps started to be made with ImGUI and seeing that no person was going to make screen reader solutions for these toolkits going forward, some of the top blind programmers banded together and made AccessKit, but it's up to the developer and the accessibility helper to make sure that the app works and is not only usable but productive in speed to keep up with the sighted users.

I don't know other programmers aside from Esoteric Programmer, but even if I were to bring him on here I don't really have a word if the main dev and now being noted of this issue, if Furnace's dev is interested and will have the time to take this seriously going forward.

Esoteric Programmer already has an entire opperating system screen reader to handle and no dout if I ask he would drop what he's doing to back me up, but it's a big ask when he has tried advocating with me on these things just not to have the ball going if you will.

I'm not saying that I've given up, but it becomes very hard when you try and try, and in the end it turns out to be for not.
Hopefully the WaveTracker dev gets back to this so that we may have an answer on this matter. :)
 
 
197960
Level 10 Chipist
retrokid104
 
 
post #197960 :: 2024.09.23 9:53am
  
  Juan Reina and nitrofurano liēkd this
Here's the link to that discussion. https://github.com/tildearrow/furnace/discussions/2137

I'm completely with you on this one. If I had the experience I'd certainly try to work with you to get something like this implemented.
 
 

LOGIN or REGISTER to add your own comments!