nimaid/binary-waterfall

If a previous file finished playback, opening another will disable the media controls

Opened this issue · 8 comments

OS: Windows 10 22H2

Software Version: v3.6.4

Reproduction Steps

  • Open Binary Waterfall, select any file. It will play normally. Allow it to complete playing.
  • Using File > Open, open another file that is large enough to produce at least a few seconds of audio. The file will display in the window, but the Play, -5 Seconds, +5 Seconds, and Rewind to Beginning buttons don't perform any action and the seek bar is stuck at the beginning.
  • Using File > Open, reopen the same file. It should now be playable.
nimaid commented

Okay, thank you for this! I had this issue occasionally in development and couldn't figure out the exact steps to reproduce it! I'll look into it in the next few days!

You're welcome, and thank you for such a cool app! I've had fun exploring various sorts of files with it!

nimaid commented

Sadly, this is a difficult bug to track down. Luckily, I just learned how to properly unit test code, so I'm pretty hopeful this and many other bugs will be squashed as I work on code coverage in the following weeks.

No rush! Unit testing is always a nice thing to add.

nimaid commented

Haha, so it seems that I am going to be doing another partial-teardown on the code and start restructuring the pieces that remain. Im still very much learning, and made some choices early on that limit the testability and debuggability of the code now. Look forward to continued bug fixes in the main branch (as I spot them), and look forward to v4, which will be re-built from the ground up with the aim making the code high enough quality to show to an employer. It's gonna be good, stay tuned!

Honestly, looking over the code, it seems pretty solid already - well commented, functions that make sense, everything separated into files. Of course, only you can know if you want to refactor or rebuild it, but this looks like a pretty nicely designed piece of software with only a few minor issues. Plus, I've seen some of the YouTube videos, and people are already discovering cool things in various files, which is very cool.

nimaid commented

Thanks! :) I agree it's actually pretty good now, but the biggest problem is the UI is coupled to the actual code, not a GUI definition file. I can only really find good testing techniques for QT apps that used QT designer-based apps, and I already wanted to try that out to make GUI design faster and less error prone.

The main purpose of the refactor is to re-create the current functionality in a fully testable form factor.

I think the bug described in this issue is probably related to some sort of poorly documented behavior when a QMediaPlayer object reaches its end.

Ah, yes, that makes sense!