f2e-spec icon indicating copy to clipboard operation
f2e-spec copied to clipboard

Performous should not list broken songs

Open TobiX opened this issue 9 years ago • 9 comments

If a song is incomplete (missing MP3), it should be reported as broken and not be shown in the song browser.

TobiX avatar Jan 08 '15 01:01 TobiX

I'm actually against that, because I have a database of 2000+ songs (list here: https://www.dropbox.com/s/rrnaog30fbi0wh5/uitdraai-karaoke%2010-01-2015.ods?dl=1) and there's no way of knowing if a song's broken if it doesn't show up in the list!! in that case it's as if the song doesn't exist, but it does take space on my hard drive. it's only ok if there's a way to list these broken songs so I can fix them. currently I do that by writing the song down as soon as a broken song is triggered. the program doesn't crash anyway so why hide them?

nieknooijens avatar Jan 15 '15 14:01 nieknooijens

Another complication is that IIRC for speed reasons we only parse the header of certain formats, which means we don't necessarily know if the song is broken until we start it and full note parsing is performed.

tapio avatar Jan 16 '15 15:01 tapio

@tapio that's probably what messes up my songmerge branch...

nieknooijens avatar Jan 16 '15 16:01 nieknooijens

I Have a program which checks if there's an mp3 or txt file in the folder. It also check if the mp3 name in the tag is equal to the physical mp3 file in the current folder. If there are some errors it'll output them to a file so you can fix it by hand if it cannot be done programmatically. Shall i upload this program after i've refactored it? It is written in C# at the moment.....

Baklap4 avatar Feb 24 '15 20:02 Baklap4

@Baklap4: Most of that code is already in Performous, e.g. it already reports some errors in the infolog.txt and on the console. Just not all errors, mainly because of performance...

TobiX avatar Feb 24 '15 21:02 TobiX

Good old thread. I'm for not listing the song within the songbrowser. We have since playlist times got into performous a chance to hit upon a segfault: filenotfound exception. Since performous list the song you can actually add it to the playlist which creates this segfault upon viewing the playlist. Calculation of duration has the need of an mp3 file. Yet it's not Songs.cc class's responsibility to check for a valid song. That has to be done during loading. If it's not added to the list calculation of duration will 100% always work.

I'm proposing the following: Log the broken song Forget about the song for the rest of the program. Create an option within the webserver to view a report about 'issues' related to songs. With issues i mean basicly everything which is spewed to the console upon loading:

  • MP3 Not found
  • File for background,video,cover not found but found alternative
    • No files found at all
  • Encoding issues with the specific text file

This way the faulty songs have a way of being listed while not being active in the current game since you cannot choose a broken song. How does this sound? @TobiX @nieknooijens

Baklap4 avatar Sep 01 '17 21:09 Baklap4

I think they should be shown but with a strong visual cue as to them being broken; and of course taking into account the need to prevent the segfault currently happening.

OTOH, I believe that would require a lot more work and perhaps @Baklap4's approach is a good middle-ground.

Lord-Kamina avatar Sep 01 '17 21:09 Lord-Kamina

as of now we still don't have a fix for this. TODO

  • [ ] Detected issues should be shown within the webbrowser
    • [ ] Encoding issues
    • [ ] Files not found
    • [ ] Files not found but found other file
    • [ ] Write these issues to file so they can be viewed/consulted after performous is closed.
  • [ ] Show a strong visual cue to songs in the song browser to show they're broken.

Baklap4 avatar Mar 19 '20 20:03 Baklap4

Added Bug label since we can get a file not found error upon checking the length of an MP3

Baklap4 avatar May 17 '22 21:05 Baklap4

Tested with latest 1.2.0 and this is still an issue. Just bumped into it multiple times surely annoying to tell people on an event that their song cannot be loaded even though its listed

Baklap4 avatar May 30 '23 18:05 Baklap4