Skip to main content

Notice

Please be aware that much of the software linked to or mentioned on this forum is niche and therefore infrequently downloaded. Lots of anti-virus scanners and so-called malware detectors like to flag infrequently downloaded software as bad until it is either downloaded enough times, or its developer actually bothers with getting each individual release allow listed by every single AV vendor. You can do many people a great favor when encountering such a "problem" example by submitting them to your AV vendor for examination. For almost everything on this forum, it is a false positive.
Recent Posts
91
3rd Party Plugins - (fb2k) / Re: foo_discogs
Last post by alexinc -
First of all many thanks for keeping this plugin updated! :-)

I tried the modded version for the first time today and it's crashing as soon as i'm trying to write the tags to the file. Not sure what i'm doing wrong. Last step could be deleting the discogs_plugin config file, which i'm trying to avoid for now (with non modded version everything worked as expected).

I added the reports. As you can see, i tried different combinations first to no success. Let me know if you need further information. For now back to non modded version... Looking forward the next releases!  O:)

EDIT: Out of pure interest i tried it with clean installation and config of your mod, but it's still crashing.
Now the non-modded version crashed on me too. From today on i (tried) adding [%RELEASE_TOTAL_TRACKS% Track'('s')'] to end of master sub-release formatting string (as i liked the ability to see on first view how many tracks a release includes when being in find release window). Fetching of course is slower now, but worked so far. Maybe it's too much information for caching or something like that?
92
3rd Party Plugins - (fb2k) / Re: foo_discogs
Last post by da yuyu -
That is what I was doing after tagging with discogs component as a workarround all this time

Spliting the single value "," sepparate that discogs tagger writes make the tag multivalue.
Maybe I understand wrong but the field must be writen as multivalue for the component, like the others. right?

I dont know what you mean by 'after tagging'. Why not doing it in one single step? Adding a new tag for example MY_ARTISTS_MEMBERS and keeping the DISCOGS_ARTISTS_MEMBERS for updates. No further step needed afaik.

Your understanding is right, using the FB2K API, it means calling meta_add_value instead of meta_set. After that, FB2K deals with the API request, taking into consideration the tag type specifications, or maybe delegating to another library...  ???

93
AAC - Tech / AAC Encoding with EAC
Last post by tapefan -
Hi everyone,

my first post here, I came here to share my experiences with trying to encode to AAC files with the Nero AAC encoder and tag executables.

I followed the instructions on the wiki found here:

http://wiki.hydrogenaud.io/index.php?title=EAC_and_AAC

But unfortunately, these instructions didn't work for me. After investigation it turned out that when cmd.exe is called by EAC, the active working directory is some local temp directory, and that isn't where the created ripped files are. I found no way of fixing that, since apparently EAC only provides command line parameters for the files to be processed, and not for the output directory.

Long story short, I solved the issue by creating a small executable file in Visual Basic 6 (I know that's old software, but I left the IT industry some 10 years ago, and this is all I know). What the executable does, is take the command line and split it into two pieces using "&&" as a splitting indicator. Next, the application executes neroaacenc.exe with the first part of the command line, and then it executed the second part of the command line passed to neroaactag.exe. This file might be useful to other people, so I have attached it in a zip file (I hope that is okay). The MD5 checksum of the file: 56bd4524f7c561ec7b7b0b42b6711658.

How to use:
1. extract the executable to a folder of your choice. neroaacenc.exe and neroaactag.exe must be in the same folder.
2. start EAC and from the menu. select EAC / COMPRESSION OPTIONS, next select tab EXTERNAL COMPRESSION
3. check USE EXTERNAL PROGRAM FOR COMPRESSION
4. click the BROWSE button and open the neroaacctrl.exe file
5. in the ADDITIONAL COMMAND LINE OPTIONS field, enter your command line. The command line must be made up from two parts separated with &&, e.g.:

-q 0.75 -if %source% -of %dest% && %dest% -meta:artist="%artist%" -meta:album="%albumtitle%" -meta:track="%tracknr%" -meta:title="%title%" -meta:genre="%genre%" -meta:year="%year%" %hascover%-add-cover:front:"%coverfile%"%hascover%

You can use this example as is, or change the -q parameter for another quality level, see the aforementioned wiki article for more info. All text before "&&" is passed to neroaacenc.exe, while everything after "&&" is passed to neroaactag.exe.

6. check DELETE WAV AFTER CPOMPRESSION and CHECK FOR EXTERNAL PROGRAMS RETURN CODE and HIGH QUALITY
7. click OK to save the new settings

Some notes: the application does not perform extensive error checking, but it does test for non-zero error return codes from neroaacenc.exe and neroaactag.exe. If neroaacenc.exe fails, it will return that error code to EAC, otherwise it will try to execute neroaactag.exe and return its return code to EAC.

For those interested in the VB6 source code, here it is:

Quote
Private Declare Function OpenProcess Lib "kernel32" _
  (ByVal dwDesiredAccess As Long, _
   ByVal bInheritHandle As Long, _
   ByVal dwProcessId As Long) As Long

Private Declare Function GetExitCodeProcess Lib "kernel32" _
  (ByVal hProcess As Long, lpExitCode As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" _
  (ByVal hObject As Long) As Long

Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STATUS_PENDING = &H103&


Private Function RunShell(cmdline As String) As Long

    Dim hProcess As Long
    Dim ProcessId As Long
    Dim exitCode As Long

    ProcessId = Shell(cmdline, 1)
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessId)

    Do
        Call GetExitCodeProcess(hProcess, exitCode)
        DoEvents
  
    Loop While exitCode = STATUS_PENDING

    Call CloseHandle(hProcess)
       
    RunShell = exitCode

End Function

Public Sub Main()
    Dim arrParams() As String
    Dim strCurDir As String
    Dim strAppDir As String
    Dim lngRetCode As Long
    Dim strCommand As String

    strCurDir = CurDir$ & "\"
    strAppDir = App.Path
   
    arrParams = Split(Command$, "&&")
   
    ' encode the file
    strCommand = strAppDir & "neroaacenc.exe " & arrParams(LBound(arrParams))
    lngRetCode = RunShell(strCommand)
    If lngRetCode = 0 Then
        'tag the file
        strCommand = strAppDir & "neroaactag.exe " & arrParams(UBound(arrParams))
        lngRetCode = RunShell(strCommand)
    End If
   
End Sub

Happy ripping!
94
3rd Party Plugins - (fb2k) / Re: foo_discogs
Last post by paregistrase -

Hi @paregistrase,

First, I apologize,

I guess value splitting is out of this component scope.
I'd say that foo_discogs doesn't differentiate between artists members and url arrays.
When it comes to writing their tags... blah blah

I realize now this is rubbish...

No problem.

I tested using:

Code: [Select]
$split(%DISCOGS_ARTISTS_MEMBERS%) or
$split(%DISCOGS_ARTISTS_MEMBERS%,',')

... and multi-value was saved accordingly (in the original component and in modded version after v04)
$meta works directly afterwards.

Quote
Not logic at all
:)

That is what I was doing after tagging with discogs component as a workarround all this time

Spliting the single value "," sepparate that discogs tagger writes make the tag multivalue.

Maybe I understand wrong but the field must be writen as multivalue for the component, like the others. right?



95
Other Lossy Codecs / Re: exhale - Open Source xHE-AAC encoder
Last post by C.R.Helmrich -
Indeed. scharfis_brain, is Dolby Surround encoded stereo audio still really that commonplace? The last audio CD in my collection on which I saw that (German band Schiller) is 20 years old.

I just released a relatively urgent release candidate of exhale 1.1.3 which, hopefully, improves the compatibility of exhale generated .m4a files a bit more. See this commit. Please let me know as soon as possible whether there are any compilation or stdin-encoding or playback related issues on any platforms.

Update: To everyone using (or thinking about using) exhale to generate xHE-AAC files for streaming applications: apart from fixing the generation of immediate playout frames (IPFs) once more, this version allows you to specify a program loudness (LUFS) and sample peak (dBFS) level as additional command-line arguments between the existing preset and file arguments. Note that, when doing so, you need to specify both, the LUFS and dBFS value (if you don't have the peak sample value, I guess you can use something like -0.01).

Example: for encoding with SBR at ~48 kbit/s stereo and with the input audio (here, WAVE file inStereo.wav) having loudness level -12.34 LUFS and sample peak level -0.123 dBFS, use
"exhale.exe b -12.34 -0.123 inStereo.wav outStereo.m4a"
or, when using stdin (e.g. via foobar2000) instead of file based encoding,
"exhale.exe b -12.34 -0.123 outStereo.m4a"
On operating systems other than Windows, adjust the spelling of "exhale.exe" accordingly.

This feature allows you to encapsulate proper loudness information even in the IPFs, which is important for streaming applications where the receiver can tune in to the stream at any time (i.e., any IPF) and cannot rely on the MPEG-4 file header. It is also beneficial for offline use cases such as file based encoding for personal archiving purposes, in order for the loudness information in the IPFs to match that in the MPEG-4 header (which always contains the actual audio loudness and peak sample level measured by exhale during encoding). So you need to make sure that the LUFS/dBFS values that you pass to the exhale application math those reported by the application once the encoding is complete.

Chris
96
Off-Topic / Google willing to cash in on placebophilia
Last post by includemeout -
We photographers - be it occasional snappers or pros - have known that RAW images may sometimes reveal something which cannot be recovered from a processed JPEG file.

But Google now wants to convince its non-paying Google Photos users that there was something inherently wrong with keeping it's high-quality images in the first place :

https://www.forbes.com/sites/paulmonckton/2021/02/27/google-issues-quality-warning-for-millions-of-google-photos-users/?sh=7a0d36aa19d0
98
3rd Party Plugins - (fb2k) / Re: foo_discogs
Last post by alexinc -
Hope you enjoy testing
Mod#5 (v2.23-mod05)

Cheers!

Change log:

- Text box with number of tags being modified.
- Added Context menu to the Match Tracks panel..
- Fix for crash when arranging song order using the Control key.
First of all many thanks for keeping this plugin updated! :-)

I tried the modded version for the first time today and it's crashing as soon as i'm trying to write the tags to the file. Not sure what i'm doing wrong. Last step could be deleting the discogs_plugin config file, which i'm trying to avoid for now (with non modded version everything worked as expected).

I added the reports. As you can see, i tried different combinations first to no success. Let me know if you need further information. For now back to non modded version... Looking forward the next releases!  O:)

EDIT: Out of pure interest i tried it with clean installation and config of your mod, but it's still crashing.
99
3rd Party Plugins - (fb2k) / Re: foo_discogs
Last post by da yuyu -

Hi @paregistrase,

First, I apologize,

I guess value splitting is out of this component scope.
I'd say that foo_discogs doesn't differentiate between artists members and url arrays.
When it comes to writing their tags... blah blah

I realize now this is rubbish...

I tested using:

Code: [Select]
$split(%DISCOGS_ARTISTS_MEMBERS%) or
$split(%DISCOGS_ARTISTS_MEMBERS%,',')

... and multi-value was saved accordingly (in the original component and in modded version after v04)
$meta works directly afterwards.

Quote
Not logic at all
:)
100
CD Hardware/Software / Re: AccurateRip Also Helps to Insure Error Free Single Track Rips?
Last post by Porcus -
@nmxny24 :

It seems to me that over at the dBpoweramp forum, you got two different answers to two different questions.
Yes you can insert a CD, rip one single track and verify it with AccurateRip upon ripping. But if you have an already-ripped single track in a single file, it is harder to find.
AccurateRip is tracks-based, but it needs to know what CD the track is from. If you have let dBpoweramp read the CD TOC then it knows. Also if you upon ripping let dBpoweramp write CDTOC to a tag - or AccurateRip ID to a tag - then it will also be known what CD it is from, and then a single track can be retro-verified.

Then you asked what "tags" are? They are the metadata (non-audio) information. Like, if your mp3 or FLAC file says the artist is "Black Sabbath", then that is a tag. dBpoweramp can also write to tags information about what CD the track was taken from, and then the PerfectTunes application from the same manufacturer will be able to retro-verify a lossless rip of a single track.


The checksum is generated from the rip and then compared to one stored in a database. Comparing those are easy.
You don't really need to know what the checksum is and how it is calculated. It suffices to know that if there is a wrong frame (= chunk of samples), the likelihood of still getting the same checksum is negligible; if the checksum matches the one already stored, then you are as sure as necessary that your rip matches someone else's rip, and that does not happen by coincidence: if you and I get the same result on two physical copies of the same CD release, then both of us are correct.

AccurateRip does have some limitations. It does not check the very beginning/end, as there is something called "offset" meaning that some drives will start and end some samples later. So if you have an error there and only there, it won't be part of the checksum. And it cannot safeguard against pressing errors - if the wrong bits end up on the CD then it cannot tell that the bits are wrong (and there are longer stories to be told about this, but I'll keep it at a non-technical level).


Secure mode? You don't need secure mode if the rip verifies as accurate. If it doesn't, then secure mode might help to get the bits right. If you use dBpoweramp, it switches to secure mode only after having tried burst with AccurateRip verification, you don't have to switch yourself. EAC or CUETools on the other hand, will do all the ripping first and check AccurateRip afterwards (IIRC).


SimplePortal 1.0.0 RC1 © 2008-2021