nimaid / binary-waterfall

A Raw Data Media Player
GNU General Public License v3.0
86 stars 3 forks source link

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

Open ChrisAkridge opened 6 months ago

ChrisAkridge commented 6 months ago

OS: Windows 10 22H2

Software Version: v3.6.4

Reproduction Steps

nimaid commented 6 months ago

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!

ChrisAkridge commented 6 months ago

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

nimaid commented 6 months ago

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.

ChrisAkridge commented 6 months ago

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

nimaid commented 6 months ago

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!

ChrisAkridge commented 6 months ago

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 6 months ago

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.

ChrisAkridge commented 6 months ago

Ah, yes, that makes sense!