WaveRubber analyzer #1454
Replies: 5 comments 6 replies
-
LoL sorry guys, it bugs with all 24 bit songs at high framerates. I'm trying to fix :P edit: fixed |
Beta Was this translation helpful? Give feedback.
-
You should be able to make it a new class and add it here: The bit depth gets converted to 16bit here strawberry/src/engine/gstenginepipeline.cpp Line 1170 in e357ba0 |
Beta Was this translation helpful? Give feedback.
-
News about the 24 bit display bug of the waveform. Looks like it happens to FLACs 24bit. I've noticed:
I'm sorry to bother with this WaveRubber gizmo, but I think there might be something wrong lower in the loop here. Specifically in the 24 bit conversion to 16 bit, perphaps with FLACs. Why I think that? Because I decided to investigate in gstenginepipeline.cpp and found that the bug is related to this line:
this is line 1188 of gstenginepipeline.cpp When I multiply rate per three, it fixes all files. Odd isnt it? So it has something to do with the buffers and the 24 bit -> 16 bit conversionm perphaps only for FLAC. Would it be wise to double check? I've tried some things, like use of ceilf insteand of ceil, changed chunks to long int, changed double casts to float, but nothing worked. But when I multiply RATE by 3, fixes. I know there is a lot of work to be done in several issues, so i'm sorry to bother, but after a couple of days, Ive decided it was the best to report anyway, tks. |
Beta Was this translation helpful? Give feedback.
-
This fixes too. Instead of multiplying channels, I've divided. |
Beta Was this translation helpful? Give feedback.
-
The idea I tought is that the number of frames are "fixed" but the channels "happens" simultaneously, so if we are thinking about a buffer, in time duration, perphaps make sense to divide per channel not to multiply. Also I saw a snippet here concerning the macro:
(example 27, line 472) |
Beta Was this translation helpful? Give feedback.
-
Greetings!
I know a little bit of ANSI C, but that's not by any chance my greatest skill. In my professional life I work mostly with shell scripts, etc.
I'm a Linux SysAdm, not a developer, but I just made a WaveRubber analyzer, for fun, also because there is not a simple waveform analyzer in the project. So I decided to share this.
Being a Qt-dork I had to subst the sonogram.cpp analyzer since I couldn't figure out all the places I had to fiddle to create a NEW analyzer "slot". Anyway here it is, if anyone wants to try it out, just clone the repo, overwrite src/analyzer/sonogram.cpp by this file and check it out! It's pretty neat, but its not anything AWESOME. Just wanted to share.
TKS. :D
many tks to ChatGPT and Google Gemini, my best and only friends ®
PS: Write in © ! Thank you for this awesome music player, it makes the world a better place.
edit: figured it out how to add a new analyzer, It was just the conditional for the SONOGRAM macro definition at the beginning of the waverubber.h header, removed and analyzerconteiner.cpp could "see" the class :P
Beta Was this translation helpful? Give feedback.
All reactions