the botb community tracker
BotB Academy Bulletins
 
 
199988
Level 9 Mixist
luna197
 
 
post #199988 :: 2024.10.29 3:14pm
  
  Juan Reina, Luigi64, adibabidan, SRB2er and ItsDuv liēkd this
while talking in the botb discord channel i brought up the idea of a bunch of botbrs banding together to make a cool tracker that could maybe turn into a real format in the future
it would hopefully become something that is on the caliber of trackers like openmpt, but that would take some time ofc
for now i'm just attaching a google doc for the tracker specification, which i'll write up over the coming days
commenting is enabled but please don't abuse that permission or i will have to take it away and only allow people i trust to make contributions (which would not be fun for the rest of botb)
discussion of features can happen here or in comments on the doc (suggestions for new features should preferably be posted here)
google doc link
 
 
199998
Level 21 Chipist
SRB2er
 
 
 
post #199998 :: 2024.10.29 4:00pm :: edit 2024.10.29 4:01pm
this honestly would be really cool
band all the codists (lol)

(what would the programming language be tho?)
 
 
200012
Level 28 Chipist
Jangler
 
 
 
post #200012 :: 2024.10.29 5:57pm
  
  sean, luna197, mirageofher, lasersphaser, cabbage drop and SRB2er liēkd this
i keep thinking about making a sample tracker that also does fm and native microtuning, so here are my feature suggestions:

- sample tracker
- fm
- native microtuning
- some sort of macro or articulation table system would be great

since the google doc mentions eventual microtuning support and storing pitch as a uint16, i want to mention that there's actually a choice here. option 1 is to store pitch - this makes it easy to use multiple tunings in a single module. option 2 is to store notation - this makes it easy to retune things and switch between tunings that have some structure in common. (notation doesn't need to be stored as a string either; you could break it up into equave, nominal index, and accidental counts)
 
 
200014
Level 30 Chipist
funute
 
 
 
post #200014 :: 2024.10.29 7:20pm
  
  VirtualMan, Jangler, luna197 and mirageofher liēkd this
https://battleofthebits.com/academy/GroupThread/39219/ here is a thread with a pool of tracker ideas you can draw from
 
 
200022
Level 20 Mixist
Luigi64
 
 
 
post #200022 :: 2024.10.29 10:37pm :: edit 2024.10.29 10:38pm
  
  VirtualMan and luna197 liēkd this
If I was putting together a tracker my top priorities would be effect tables like you have in lsdj, a text-based file format for nice version control, possibly in addition to a nice packed or compressed binary format, and DSP effects

EDIT also accurate tempo and unlimited precision/PPQ like you have in openmpt
 
 
200029
Level 9 Mixist
luna197
 
 
post #200029 :: 2024.10.30 12:47am
  
  SRB2er and Jangler liēkd this
#199998
thinking about doing it in rust, though i have to look into what languages have what libraries for audio and ui/graphics

#200012
didn't think about fm but if there's a need for it, it shouldn't be too complicated to add
microtuning is something i'll have to think about more, i really want to make a flexible system, maybe even something that could take in basic math expressions for frequency ratio calculation
macros will very likely be implemented, i've thought of doing stuff like triggering an entire sub-pattern for one channel with an effect command (fitting more stuff into one row, or applying something to each note) (this would be a good reason to bring the polyphony limit up to a larger number like 512 or 1024 - i brought that idea up in the discord during the initial convo and people felt like those numbers were very high)
also going back to microtuning - i've thought of using a regular int for the note (in a pattern), with 0 denoting the root pitch of a sample, but when i considered that multi-sample instruments are also something that will definitely happen, i'm not sure how exactly the note values will be stored (i'm not a huge fan of the notation idea since it could complicate things like switching between tunings or even transposition); maybe ditching the idea of a root pitch is better with the large range that 16 bit ints give, and just letting the sample rate option of a sample be related to some constant note (a4? c5? this is complicated)

#200014
thanks! i'll definitely have to check out that thread and give an update about how i feel about all of those features (very likely that i'll agree to implementing them all)

#200022
as i mentioned a bit earlier, macros will likely be implemented, so no need to worry about that one
text-based file format could happen, probably with an external tool (still developed by the same dev team!) - it would unfortunately be something that would come later, since while serializing the data isn't difficult, parsing it back into the regular format could have its own set of challenges
compressed format could also be done, it's probably as simple as just compressing the whole file with zlib
dsp effects.. this is one thing i was worrying about a lot - i know basic effects like the ones openmpt has by default could be implemented, but i wouldn't expect vst support - it's a topic i know nothing about from the technical side, and i'm worried about having to deal with things like licenses - i've seen that distribution of vst plugins requires getting a license, not sure about just implementing support for them; also, i would like this tracker to be cross-platform, which might not be great for vst support; i think it's best to consider it as something that could be added post-release, if we figure out how to do it well without making compromises to the experience users would get on different platforms
tempo will be stored as a 32 bit decimal number (float/fixed point, undecided), which means you can go ham with the tempos :3
the options of ticks per row and rows per beat are also currently undecided, we'll pick the one that seems more flexible (or offer support for both as a module-wide setting like openmpt does)
 
 
200062
Level 12 Chipist
Stupe
 
 
post #200062 :: 2024.10.30 4:27pm
  
  Juan Reina and retrokid104 liēkd this
A tracker with classic .Mod-esque behavior and commands, except with MIDI out, and the ability to custom-map certain of those commands to different MIDI events, allowing you to set up classic (smooth) tracking with any selection of hardware you please as sound sources. That's what I'm talking about
 
 
200081
Level 9 Mixist
luna197
 
 
post #200081 :: 2024.10.30 11:27pm
  
  Juan Reina liēkd this
#200062
the tracker will have many more features than any classic trackers, so i can't really promise that, but midi out seems interesting - timing would be a bit difficult given what i've found in terms of libraries, but i think it's definitely possible


also, about no changes having been made to the doc - i've been a bit busy with uni, so if i want to work on this i'll have to wait until the weekend or just any day where i have more free time
though when winter break (or something like it) comes, i'll be able to put in a lot more time into this
 
 
200085
Level 12 Chipist
retrokid104
 
 
post #200085 :: 2024.10.31 7:26am
  
  RevvoBolt and VirtualMan liēkd this
  
  Caffeinator, Wegfrei, luna197, damifortune, goluigi and SRB2er hæitd this
just make a furnace mod
 
 
200257
Level 9 Mixist
luna197
 
 
post #200257 :: 2024.11.03 2:42pm
  
  SRB2er and Caffeinator liēkd this
really didn't want stuff to turn out like this but

development is being halted for a currently unknown amount of time due to difficult irl stuff
if i get the opportunity to spend time on this in the future, i'll come back to it, but for now, i'm stepping away
i hope this is a decision most people will be okay with
 
 
200266
Level 9 Mixist
Caffeinator
 
 
post #200266 :: 2024.11.03 5:34pm
  
  luna197, SRB2er and Mrperson987 liēkd this
life happens, take all the time you need - botb isn't going anywhere
 
 

LOGIN or REGISTER to add your own comments!