stoneface86 / trackerboy Goto Github PK
View Code? Open in Web Editor NEWGame Boy / Game Boy Color music tracker
Home Page: https://www.trackerboy.org
License: MIT License
Game Boy / Game Boy Color music tracker
Home Page: https://www.trackerboy.org
License: MIT License
Program crashes when what seemingly is pattern row ID not being valid on the next song.
[Uncaught exception] Type: class std::invalid_argument What: order does not exist
I cannot say for sure but it's likely trying to stay at the same pattern row (07) in the next song, despite that not being possible in the Elec Man song due to it containing only one pattern (00).
This issue will serve as a roadmap for planned features. Feel free to suggest new features here, or discuss any of the planned features. Note that the roadmap may change at any time, as certain features may be prioritized as necessary. Reminder that this repo is for the front end of Trackerboy, so some features requested may require back end support (libtrackerboy). libtrackerboy's roadmap is located here
Items in bold are features that are required for release. Once all required features are implemented, the first release version (v1.0.0) will be published. There is no schedule for this version, since it only depends on all requirements being implemented.
Migration to Nim
>>
row to OrderEditor (see below)>>
rowAdds a row to the order editor at the end that allows the user to append a new row with the specified track ids
When the user hits enter, a row with the entered ids will be inserted, or an automatic id will be used instead
6xx
.asm
exporter dialog.gbs
exporter dialog.vgm
exporter dialog.mod
importer dialog.ftm
Feel free to comment below if you have any suggestions with the roadmap outlined above. For feature requests, please create a separate issue, which I will then add to the roadmap if the request is doable.
Ins
in the pattern editor will push all rows ahead of the cursor down 1I keep wanting to select outside of the current view while drag-selecting, but the window doesn't scroll, making it hard to see what's being selected.
this would save a lot of time for doing complex stuff with the wave channel. EG doing something like PWM or a filter sweep. there seems to be no command to change the waveform on channel 3 without using a new instrument.
Using command Fxx doesn't affect playback speed–it only seems to be determined by the Trackerboy module's speed.
(Also, Trackerboy's playback speed doesn't seem to align with game boy emulators)
If the tracker is resized to be too small for the pattern grid, then it's impossible to scroll the view horizontally, and the rightmost channel(s) are inaccessible. The scrollbar moves the cursor, but it goes off-screen:
Using the Exx effect (set envelope) without a note set does not seem to be working. When playing this example pattern, nothing happens on row 0x04. The note continues on at volume = 15. The volume should be set to 0 at this row.
Issue occurs on all channels. The desired behavior is achieved if the note column is set with the previous note.
This is a known issue, and may be a problem with miniaudio, but I'll leave this issue here in case anyone else has the same problem.
When playing out to a device using the pulseaudio backend, and the device is disconnected, the render continues as if the device was operating normally. What should happen is that the render is aborted, and an error message is displayed to the user. Since we do not get an error, the device is still used and results in a deadlock (hang) when trying to use it again. Miniaudio does not report an error when stopping the device, so there is no way to know if the device disconnected.
A possible workaround would be to implement a watchdog in the render function, such that if the buffer remains full for more than 1
second or so, consider the device inoperable and abort the render.
I have posted an issue in the miniaudio repo, will update when I hear back from the maintainer.
Trackerboy playback is slightly slower than playback in emulators (tested in SameBoy, Emulicious, GB Studio).
I'm using GB Studio's GBT Player with the same tick speed as in Trackerboy. Either increasing or decreasing tick speed doesn't align.
A feature to have twice as many channels in one module would be great. LSDj has a similar feature when using the link cable that syncs two Gameboys' playback for double the channels and I'd like to be able to do the same in Trackerboy
I think your tracker should come with some example songs and demos for users to play around with.
Feel free to add this one: https://github.com/sttng/gb-stuff/blob/main/Konami_Logo.tbm
While a software envelope is planned for a future update, a dedicated column for the hardware envelope effect (aka Exx) could be very handy for artists working with trackerboy. It would be similar to a volume column, but have 2 digits for selecting the initial volume (first digit) and the fade in/out effect (second digit), essentially having a column just for the Exx effect to take place.
I do not know, however, if this would be cutting off the available effects that one can have at a time in each channel, given that Exx on its own is an effect and one can only have 3 effects at a time per channel.
I believe this would be useful for people even after software envelopes are inplemented, given that one could still make one instrument and change the values for every row if the instrument constantly changes on lenght and/or volume.
Thank you for reading (: i hope this idea passes through in some way!!
Spurious hang when opening a module. Discovered by @N-SPC700
Load a module and the application may hang.
Hard to reproduce. Most likely a threading issue with the Renderer class, see below.
This is most likely a synchronization issue with the Renderer, I believe the hang is caused by a deadlock when calling Renderer::forceStop
https://github.com/stoneface86/trackerboy/blob/develop/src/forms/MainWindow/slots.cpp#L64
Reply to this issue if you have encountered this exact problem with specific details, so we can help isolate the cause.
It would be nice to be able to import .mod or other tracker files. It'll be fine if only the first 4 channels are supported and obviously there are other limitations.
I am using an older macOS Version (10.14). Would it be possible to release a version compatible with this old OS ?
hello! Well, my computer is not capable of opening this app, and i would love be able to use the app anyway. So, please, would you (all) be able to create a 32-bit version to weak systems?
Not sure if this is possible at all, but it would certainly be great to get a macOS build (which supports macOS 10.14.6 still).
Would be pretty handy to be able to drag tbm
files into the window to load them. I find myself doing this by habit.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.