Jump to content
IGNORED

TIATrackerPlus: A continuation of TIATracker


RushJet1

Recommended Posts

Hey, I'm making UI changes and improvements to TIATracker and thought I'd start it up under a new name.  This takes the undo-redo fork that lonestarr had made last year and combines it with my fork I also made last year that improves playback accuracy.

 

https://bitbucket.org/rushjet1/tiatracker/downloads/TIATrackerPlus1.0.zip

https://bitbucket.org/rushjet1/tiatracker/


-adds undo/redo functionality
-adds the ability to click and drag envelopes instead of clicking each one
-improves engine playback accuracy (much closer to actually being 50/60 hz)

 

I still have a lot of UI improvements I want to add.  I've made a list and need to clean that up.  Not sure how many I'll get done as I've never really done visual C++ stuff before in any real capacity.

Edited by RushJet1
  • Like 12
Link to comment
Share on other sites

Awesome work @RushJet1!  This is such a great tool for coders.

 

What the exported code really needs is the ability to store and play multiple tunes.  I've been getting better at my 6502 managing the pokey player and working on PETSCII 7800 so I should try and have another look.

Link to comment
Share on other sites

This is great. I only recently learned of this tool (seeing the demo of your tracks on ZPH podcast - very cool and motivating) it's pretty cool.

I am on OS/X so i had to build myself which got a little weird - had to make some changes like the following... 

-   noteAreaWidth = noteFontMetrics.width("000: C#4 I7 31")
+   noteAreaWidth = noteFontMetrics.horizontalAdvance("000: C#4 I7 31")

I got what I thought was Qt5 but it appears to have marked the width() method obsolete (and a few other, minor things) - is it worth it to update the code or might that break compatibility on "regular" Windows builds (happy to provide a CR with the changes I had to make)?

 

Edited by Dave C
  • Like 1
Link to comment
Share on other sites

  • 5 months later...

Ha, nice! Both undo/redo and especially more playback accuracy had been on my to-do list (along with porting the improved sound emulation from the newer Stella versions), but I found it hard to motivate myself to actually do it... was/am kinda burned out on this project. So I'm really glad somebody did this even though you probably had to endure some bad code of mine! :D

Edited by Kylearan
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
On 7/15/2022 at 4:21 AM, Kylearan said:

Ha, nice! Both undo/redo and especially more playback accuracy had been on my to-do list (along with porting the improved sound emulation from the newer Stella versions), but I found it hard to motivate myself to actually do it... was/am kinda burned out on this project. So I'm really glad somebody did this even though you probably had to endure some bad code of mine! :D

Turns out this isn't as good as I'd hoped.  The undo/redo functionality added by lonestarr actually crashes the program sometimes when I try to add frames to percussion or instruments (and the qt debugger doesn't seem to know why either).  The audio is "more accurate" timing wise but sometimes just stops working entirely and I have to restart the program (at least I can save).  This one is true even if I use an older version without the undo/redo functionality... the last track I wrote recently I restarted the thing 50 times at least.  Furnace now supports TIA as a target and the second it gets .bin output I'm switching to that since it won't have these problems.

  • Thanks 1
Link to comment
Share on other sites

33 minutes ago, RushJet1 said:

Turns out this isn't as good as I'd hoped.  The undo/redo functionality added by lonestarr actually crashes the program sometimes when I try to add frames to percussion or instruments (and the qt debugger doesn't seem to know why either).  The audio is "more accurate" timing wise but sometimes just stops working entirely and I have to restart the program (at least I can save).  This one is true even if I use an older version without the undo/redo functionality... the last track I wrote recently I restarted the thing 50 times at least.  Furnace now supports TIA as a target and the second it gets .bin output I'm switching to that since it won't have these problems.

Thank you for pointing out Furnace. I had no idea it was supporting TIA.

 

Looks like I'll be throwing my own crude TIA music tools away. :-)  Too late for my current project, though. Soundtrack has been done for a long time.

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...
On 2/4/2022 at 7:26 AM, RushJet1 said:

-improves engine playback accuracy (much closer to actually being 50/60 hz)

Cool. But I notice the player is still the same, so how do you achieve the improved accuracy?

 

Note: I suggested a simple improvement here which would allow very fine playback speed tuning.

 

BTW: @Kylearan posted the required resources. E.g. 9 bytes permanent RAM (which can be a lot for a 2600 game). He said he had some ideas how to decrease that RAM footprint a bit, but it never became reality. Have you though about it?

Link to comment
Share on other sites

  • 2 weeks later...
On 10/10/2023 at 10:43 AM, Thomas Jentzsch said:

Cool. But I notice the player is still the same, so how do you achieve the improved accuracy?

 

Note: I suggested a simple improvement here which would allow very fine playback speed tuning.

 

BTW: @Kylearan posted the required resources. E.g. 9 bytes permanent RAM (which can be a lot for a 2600 game). He said he had some ideas how to decrease that RAM footprint a bit, but it never became reality. Have you though about it?

I wasn't doing anything with the actual asm code player; I was trying to improve playback from the actual program itself which would seemingly arbitrarily skip frames if it ran out of time between the frames (which was often).  however every version I've compiled has been unstable and the sound will eventually just cut out, even the code I got directly from Kylearan.  I hate working with QT on top of that and Furnace will someday hopefully get an export option, so I haven't really been looking at this at all.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...