Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: m-TAGS component (foo_tags) (Read 161914 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

m-TAGS component (foo_tags)

Reply #225
Biography Server plugin has a neat feature, allowing automatic download of missing cover art:

It works in ELPlaylist for normal media files using $albumart function, but does not for m-tags. Is there any chance to use it with .tags as well?

m-TAGS component (foo_tags)

Reply #226
Thanks for this great component! One question/suggestion: Could there be a command line option for creating m-tags in seperate folders, too? That would help a lot with my setup.

m-TAGS component (foo_tags)

Reply #227
Biography Server plugin has a neat feature, allowing automatic download of missing cover art:

It works in ELPlaylist for normal media files using $albumart function, but does not for m-tags. Is there any chance to use it with .tags as well?


I do not know how the component works. However, m-tags is NOT an artwork viewer. It provides embedded artwork capabilities 'as if' the artwork was embedded in the media file. It should be the Biography Server responsibility to understand that artwork is missing. In other words, m-TAGS just presents the artwork (or lack thereof) exactly the same way any other artwork plugin does. So, it SHOULD work if the other component uses the standard api's.

By the way, I use ELPlaylist myself, and the artwork shows ok. But I do not know how Biography Server works, again. Try to ask its developer how he/she accesses the media artwork, and maybe I'll have a solution.

m-TAGS component (foo_tags)

Reply #228
Thanks for this great component! One question/suggestion: Could there be a command line option for creating m-tags in seperate folders, too? That would help a lot with my setup.


Maybe...... I'll look into it.

m-TAGS component (foo_tags)

Reply #229
@luigimercurio

One small issue.

If the m-TAGS:: REFERENCED FILE: is HTTP and points to a file (eg http://mp3stream4.abradio.cz/depeche64.mp3)
I get a popup "Attached editing picture failure: Access denied."

I am trying to add external image using .tags.front.bin

Sample tag
Code: [Select]
[
  {
    "@": "http://mp3stream4.abradio.cz/depeche64.mp3",
    "STREAM_NAME": "Radio Depeche Mode",
    "STREAM_DESCRIPTION": "Radio Depeche Mode",
    "STREAM_GENRE": "Rock",
    "STREAM_BITRATE": "64",
    "STREAM_WEBPAGE": "http://www.abradio.cz",
    "STREAM_ID": "0783218226"
  }
]

Verbose Log
Code: [Select]
[10:36:57] m-TAGS:: Creating album art extractor for file://C:\FooTunein\m-tags\0783218226\0783218226.tags
[10:36:57] m-TAGS:: CREATING TAGS
[10:36:57] m-TAGS:: CREATING ALBUM ART EDITOR INSTANCE
[10:36:57] m-TAGS:: Loading locator
[10:36:57] m-TAGS:: OPENING file://C:\FooTunein\m-tags\0783218226\0783218226.tags
[10:36:57] m-TAGS:: Resolving locator: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: tags_path: file://C:\FooTunein\m-tags\0783218226\0783218226.tags
[10:36:57] m-TAGS:: locator: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: path: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: Resolved path: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: Canonical path: [url=http://mp3stream4.abradio.cz:80/depeche64.mp3]http://mp3stream4.abradio.cz:80/depeche64.mp3[/url]
[10:36:57] m-TAGS:: REFERENCED FILE: [url=http://mp3stream4.abradio.cz:80/depeche64.mp3]http://mp3stream4.abradio.cz:80/depeche64.mp3[/url] [0]
[10:36:57] m-TAGS:: Opening internal editor
[10:36:57] m-TAGS:: DESTROYING TAGS

Can you tell me what are you using to add the album art? The GUI or some add-on?

m-TAGS component (foo_tags)

Reply #230
@luigimercurio

One small issue.

If the m-TAGS:: REFERENCED FILE: is HTTP and points to a file (eg http://mp3stream4.abradio.cz/depeche64.mp3)
I get a popup "Attached editing picture failure: Access denied."

I am trying to add external image using .tags.front.bin

Sample tag
Code: [Select]
[
  {
    "@": "http://mp3stream4.abradio.cz/depeche64.mp3",
    "STREAM_NAME": "Radio Depeche Mode",
    "STREAM_DESCRIPTION": "Radio Depeche Mode",
    "STREAM_GENRE": "Rock",
    "STREAM_BITRATE": "64",
    "STREAM_WEBPAGE": "http://www.abradio.cz",
    "STREAM_ID": "0783218226"
  }
]

Verbose Log
Code: [Select]
[10:36:57] m-TAGS:: Creating album art extractor for file://C:\FooTunein\m-tags\0783218226\0783218226.tags
[10:36:57] m-TAGS:: CREATING TAGS
[10:36:57] m-TAGS:: CREATING ALBUM ART EDITOR INSTANCE
[10:36:57] m-TAGS:: Loading locator
[10:36:57] m-TAGS:: OPENING file://C:\FooTunein\m-tags\0783218226\0783218226.tags
[10:36:57] m-TAGS:: Resolving locator: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: tags_path: file://C:\FooTunein\m-tags\0783218226\0783218226.tags
[10:36:57] m-TAGS:: locator: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: path: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: Resolved path: [url=http://mp3stream4.abradio.cz/depeche64.mp3]http://mp3stream4.abradio.cz/depeche64.mp3[/url]
[10:36:57] m-TAGS:: Canonical path: [url=http://mp3stream4.abradio.cz:80/depeche64.mp3]http://mp3stream4.abradio.cz:80/depeche64.mp3[/url]
[10:36:57] m-TAGS:: REFERENCED FILE: [url=http://mp3stream4.abradio.cz:80/depeche64.mp3]http://mp3stream4.abradio.cz:80/depeche64.mp3[/url] [0]
[10:36:57] m-TAGS:: Opening internal editor
[10:36:57] m-TAGS:: DESTROYING TAGS

Can you tell me what are you using to add the album art? The GUI or some add-on?

To be more specific , the reference file is NOT a physical mp3 file , but the streams URL just ENDS with .mp3.
So my guess was that the component is trying to load a mp3 file , which it is actually not and failing.

With the GUI Right-click > Tagging > Attach Pictures > Front cover I get the  popup "Attached editing picture failure: Access denied.

Even if an external script save's the image to the folder as  .tags.front.bin , it is not recognized and not displayed in art viewer/playlist.

The same error happens with stream URL's that end with .ogg or .opus but not with .aac.

I know that your component was not designed for streams , but you can see what I have been able to accomplish with it @ http://zeremy.deviantart.com/art/FooTunein-562901851

Thanks again.

m-TAGS component (foo_tags)

Reply #231
Automatic generation of m-TAGS files  using album track lists from MusicBrainz and last.fm

Download  script here. Full details and requirements are here. Albums  can be built from exclusively media library tracks, exclusively YouTube links  or a mixture of both where media library tracks are preferred. MusicBrainz will  often (but not always) give better results for albums than last.fm.

m-TAGS component (foo_tags)

Reply #232
Can two m-tags files or more be created for the same source file. Such that for example one contains Discogs tags and the other Musicbrainz or last.fm tags.

Also whats the best practice when storing artist related info, if is saved in every album m-tag isn't it redundant, for example related artists.

I have been getting some crashes when the m-tag files is being created from File>Menu>M-Tags>Create M-Tags in the same folder and also from the contextual menu. Foo_Tags version 1.12 and Foobar latest 1.3.9

m-TAGS component (foo_tags)

Reply #233
To be more specific , the reference file is NOT a physical mp3 file , but the streams URL just ENDS with .mp3.
So my guess was that the component is trying to load a mp3 file , which it is actually not and failing.

With the GUI Right-click > Tagging > Attach Pictures > Front cover I get the  popup "Attached editing picture failure: Access denied.

Even if an external script save's the image to the folder as  .tags.front.bin , it is not recognized and not displayed in art viewer/playlist.

The same error happens with stream URL's that end with .ogg or .opus but not with .aac.

I know that your component was not designed for streams , but you can see what I have been able to accomplish with it @ http://zeremy.deviantart.com/art/FooTunein-562901851

Thanks again.


The component is actually built for streams, and I use it regularly for that. However, the behaviour of fb2k is undetermined if a stream ends with a "well-known" extension. The algorithm to find an input method in fb2k just browses through all input methods until one matches the url. If the "default" mp3 input method is found before the input method which would properly load the stream, then you get an error. Unfortunately, the behaviour is also random, because it depands on DLL loading order, and it may change with each every start of fb2k. In other words it may work sometimes, but not always.

I asked peter to address the issue and to match by PREFIX first, then by SUFFIX, but it may not be in his priority to-do list.

I solved the issue creating my own input method with corrects the links. In other words, I create locators which do NOT contain the ".mp3" extension, which is appended by the input method before actually loading and decoding the stream (using ffmpeg).

m-TAGS component (foo_tags)

Reply #234
Can two m-tags files or more be created for the same source file. Such that for example one contains Discogs tags and the other Musicbrainz or last.fm tags.

Also whats the best practice when storing artist related info, if is saved in every album m-tag isn't it redundant, for example related artists.

I have been getting some crashes when the m-tag files is being created from File>Menu>M-Tags>Create M-Tags in the same folder and also from the contextual menu. Foo_Tags version 1.12 and Foobar latest 1.3.9


Yes, you can create as many m-TAGS files for the same media file as you want.

As for the artist info, unless you use another extension to grab it from an external source, you can embed it in m-TAGS the exact same way you would with regular media files. If you do not do that with regular media files, then you should not do that with m-TAGS. Keep in mind, however, that m-TAGS has one advantage with respect to embedded media tags. If you have album-wide m-TAGS files, all tags pertaining to the whole album are only written ONCE in the m-TAGS file.

Regarding the crashes, can you turn debugging on and send me a log file?

m-TAGS component (foo_tags)

Reply #235
I'm having the same issue under the same versions as Matt248. I don't mean to sound disrespectful, but it feels seriously broken (I've tested m-TAGS in the past and experienced issues then too). Anyway, since it keeps crashing on automatic m-TAGS creation via the GUI, I tried creating a !.tags file manually instead, following the syntax presented on your site. When I loaded that, it crashed immediately. After that, it got as far as foobar2000 crashing literally every time, the second it opened. I had to manually uninstall the plugin from my foobar2000 folder to stop the madness. Since I only have logs left from the latter issue, it's all I can provide (the m-TAGS file creation issue had a different call path, that's all I know).

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 02149217h
Access violation, operation: read, address: 00000004h
Last win32 error: 38

Call path:
folder watcher thread=>watch loop=>input_entry::g_open_for_info_read

Code bytes (02149217h):
021491D7h:  CF C7 45 FC 02 00 00 00 E8 8C DE FF FF 8B F0 3B
021491E7h:  37 74 18 8D 45 E8 50 8D 4E 10 E8 AA E7 FF FF 84
021491F7h:  C0 74 08 83 C6 18 E9 99 00 00 00 8B 45 0C 85 C0
02149207h:  74 18 85 DB 74 14 E8 0E 03 00 00 53 8B 08 8B 01
02149217h:  FF 50 04 8B C8 8B 45 0C EB 02 8B CB 89 4D C0 85
02149227h:  DB 74 09 33 C9 85 C0 0F 95 C1 EB 02 8B C8 89 4D
02149237h:  C4 68 38 1D 1B 02 8D 4D C8 C6 45 FC 03 E8 17 E0
02149247h:  FF FF 8B 7D F0 8D 45 C0 50 C6 45 FC 04 8B 3F 8B

Stack (0475F2DCh):
0475F2BCh:  00E80000 0111A600 00000000 00000000
0475F2CCh:  0012FBB8 00000006 0001FB80 00000002
0475F2DCh:  0475F370 2D63B4CD 0475F618 0475F618
0475F2ECh:  0475F360 0475F364 7C91003D 40179101
0475F2FCh:  00150000 00000000 05E900B8 0475F314
0475F30Ch:  02169A4D 0475F618 0475F340 0475F370
0475F31Ch:  00000002 05E96C18 0475F3BC 02187FA1
0475F32Ch:  00000002 0475F340 02147B06 0475F370
0475F33Ch:  00000002 0475F3C8 02145C0C 0475F370
0475F34Ch:  2D63B435 00000001 0475F618 0475F401
0475F35Ch:  0000FDE8 05E900B8 00000005 0024F017
0475F36Ch:  0024F01A 2D630040 0024C090 0475F440
0475F37Ch:  0024C090 00000001 0000000F FFFFFFFF
0475F38Ch:  0475F3D4 02146CB0 001E4DF0 00000000
0475F39Ch:  00000002 05E96C10 05E96C00 2D63B429
0475F3ACh:  0000000B 0024F01B 0024F01C 2D63B435
0475F3BCh:  0475F430 02187B08 00000000 0475F43C
0475F3CCh:  021460EB 0475F408 2D63B3C1 00000001
0475F3DCh:  0475F618 0475F454 0475F438 02147C31
0475F3ECh:  2D63B3C5 00000000 0475F618 0475F454

Registers:
EAX: 00000000, EBX: 0475F370, ECX: 021B1D48, EDX: 00000000
ESI: 05E96AD8, EDI: 001E6C08, EBP: 0475F330, ESP: 0475F2DC

Crash location:
Module: foo_tags
Offset: 9217h

Loaded modules:
foobar2000                      loaded at 00400000h - 005CF000h
ntdll                            loaded at 7C900000h - 7C9AF000h
kernel32                        loaded at 7C800000h - 7C8F6000h
COMCTL32                        loaded at 773D0000h - 774D3000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 77DD0000h - 77E6B000h
RPCRT4                          loaded at 77E70000h - 77F02000h
Secur32                          loaded at 77FE0000h - 77FF1000h
GDI32                            loaded at 77F10000h - 77F59000h
USER32                          loaded at 7E410000h - 7E4A1000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
WINMM                            loaded at 76B40000h - 76B6D000h
DSOUND                          loaded at 73F10000h - 73F6C000h
ole32                            loaded at 774E0000h - 7761D000h
VERSION                          loaded at 77C00000h - 77C08000h
UxTheme                          loaded at 5AD70000h - 5ADA8000h
SHELL32                          loaded at 7C9C0000h - 7D1D7000h
zlib1                            loaded at 62E80000h - 62E9F000h
shared                          loaded at 10000000h - 1002D000h
imagehlp                        loaded at 76C90000h - 76CB8000h
dbghelp                          loaded at 59A60000h - 59B01000h
COMDLG32                        loaded at 763B0000h - 763F9000h
CRYPT32                          loaded at 77A80000h - 77B15000h
MSASN1                          loaded at 77B20000h - 77B32000h
gdiplus                          loaded at 4EC50000h - 4EDF6000h
WINHTTP                          loaded at 4D4F0000h - 4D549000h
IMM32                            loaded at 76390000h - 763AD000h
LPK                              loaded at 629C0000h - 629C9000h
USP10                            loaded at 74D90000h - 74DFB000h
msctfime                        loaded at 755C0000h - 755EE000h
foo_converter                    loaded at 011C0000h - 01248000h
foo_input_tta                    loaded at 01270000h - 012B2000h
foo_verifier                    loaded at 012E0000h - 01322000h
foo_input_caf                    loaded at 01350000h - 013A5000h
foo_input_amr                    loaded at 013D0000h - 01417000h
foo_playback_custom              loaded at 01440000h - 01487000h
WINSPOOL                        loaded at 73000000h - 73026000h
OLEAUT32                        loaded at 77120000h - 771AB000h
foo_midi                        loaded at 016D0000h - 01945000h
BASS                            loaded at 01960000h - 019B0000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
BASSMIDI                        loaded at 019B0000h - 019E8000h
foo_input_usf                    loaded at 01F20000h - 01FAC000h
foo_ui_std                      loaded at 01FC0000h - 020CE000h
MSIMG32                          loaded at 76380000h - 76385000h
foo_skip                        loaded at 020F0000h - 02126000h
foo_ac3                          loaded at 01E90000h - 01EC1000h
foo_tags                        loaded at 02140000h - 021CA000h
foo_dumb                        loaded at 021D0000h - 022C8000h
foo_flv                          loaded at 024D0000h - 024EB000h
foo_fileops                      loaded at 02510000h - 0255E000h
foo_input_dts                    loaded at 02D80000h - 02DE7000h
foo_input_tak                    loaded at 02E00000h - 02E46000h
tak_deco_lib                    loaded at 01E10000h - 01E31000h
foo_dsp_eq                      loaded at 01E40000h - 01E77000h
foo_psf                          loaded at 02F60000h - 02FBD000h
foo_rgscan                      loaded at 02FD0000h - 03031000h
foo_unpack                      loaded at 03060000h - 030AC000h
foo_dsp_effect                  loaded at 030D0000h - 03115000h
foo_texttools                    loaded at 03130000h - 03164000h
foo_dsp_std                      loaded at 03190000h - 031D2000h
foo_cdda                        loaded at 03200000h - 03251000h
foo_acm_packet_decoder          loaded at 03280000h - 032C2000h
foo_input_monkey                loaded at 032F0000h - 03338000h
foo_wave_seekbar                loaded at 03360000h - 03509000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
PSAPI                            loaded at 76BF0000h - 76BFB000h
IPHLPAPI                        loaded at 76D60000h - 76D79000h
MSVCP120                        loaded at 03520000h - 03591000h
MSVCR120                        loaded at 035A0000h - 0368E000h
mswsock                          loaded at 71A50000h - 71A8F000h
hnetcfg                          loaded at 662B0000h - 66308000h
wshtcpip                        loaded at 71A90000h - 71A98000h
foo_input_vgmstream              loaded at 03720000h - 03865000h
libvorbis                        loaded at 03880000h - 038BE000h
libmpg123-0                      loaded at 038D0000h - 03911000h
libg7221_decode                  loaded at 03930000h - 03955000h
libg719_decode                  loaded at 03970000h - 03993000h
at3plusdecoder                  loaded at 039B0000h - 03A1E000h
foo_input_std                    loaded at 03A60000h - 03BBB000h
avcodec-fb2k-56                  loaded at 669C0000h - 66B9E000h
avutil-fb2k-54                  loaded at 6B540000h - 6B5CA000h
foo_dsp_resampler                loaded at 03BE0000h - 03D38000h
foo_adpcm                        loaded at 04290000h - 042EB000h
foo_quicktag                    loaded at 04300000h - 04334000h
foo_input_mdx                    loaded at 04360000h - 043B3000h
foo_input_aodsf                  loaded at 043E0000h - 04414000h
foo_gep                          loaded at 04430000h - 04631000h
frontend_direct3d9              loaded at 04C60000h - 04CB0000h
d3d9                            loaded at 4FDD0000h - 4FF76000h
d3d8thk                          loaded at 6D990000h - 6D996000h
d3dx9_42                        loaded at 050D0000h - 052B5000h
SciLexer                        loaded at 052C0000h - 05362000h
CoreAudioToolbox                loaded at 05370000h - 0585B000h
CoreFoundation                  loaded at 04EE0000h - 0507E000h
MSVCR100                        loaded at 78AA0000h - 78B5F000h
objc                            loaded at 04E30000h - 04E5B000h
MSVCP100                        loaded at 78050000h - 780B9000h
ASL                              loaded at 04E70000h - 04E81000h
libdispatch                      loaded at 04EA0000h - 04EB6000h
libicuin                        loaded at 05860000h - 059A3000h
libicuuc                        loaded at 059B0000h - 05AAC000h
icudt49                          loaded at 4AD00000h - 4BF38000h
d3dcompiler_42                  loaded at 05F90000h - 06177000h

Stack dump analysis:
Address: 7C91003Dh (ntdll+1003Dh), symbol: "RtlFreeHeap" (+130h)
Address: 02169A4Dh (foo_tags+29A4Dh)
Address: 02187FA1h (foo_tags+47FA1h)
Address: 02147B06h (foo_tags+7B06h)
Address: 02145C0Ch (foo_tags+5C0Ch)
Address: 02146CB0h (foo_tags+6CB0h)
Address: 02187B08h (foo_tags+47B08h)
Address: 021460EBh (foo_tags+60EBh)
Address: 02147C31h (foo_tags+7C31h)
Address: 02187B50h (foo_tags+47B50h)
Address: 02145877h (foo_tags+5877h)
Address: 02179157h (foo_tags+39157h)
Address: 02187AB0h (foo_tags+47AB0h)
Address: 021460FDh (foo_tags+60FDh)
Address: 7C90E900h (ntdll+E900h), symbol: "strchr" (+113h)
Address: 7C9101C0h (ntdll+101C0h), symbol: "RtlAllocateHeap" (+11Ch)
Address: 7C9101BBh (ntdll+101BBh), symbol: "RtlAllocateHeap" (+117h)
Address: 02179157h (foo_tags+39157h)
Address: 02169A36h (foo_tags+29A36h)
Address: 0214565Dh (foo_tags+565Dh)
Address: 02187B50h (foo_tags+47B50h)
Address: 02145548h (foo_tags+5548h)
Address: 02143C37h (foo_tags+3C37h)
Address: 02187A48h (foo_tags+47A48h)
Address: 02145499h (foo_tags+5499h)
Address: 02165FDAh (foo_tags+25FDAh)
Address: 02179101h (foo_tags+39101h)
Address: 0218E648h (foo_tags+4E648h)
Address: 0218DAB8h (foo_tags+4DAB8h)
Address: 02142C00h (foo_tags+2C00h)
Address: 0218B770h (foo_tags+4B770h)
Address: 0215E45Fh (foo_tags+1E45Fh)
Address: 0218A5A8h (foo_tags+4A5A8h)
Address: 0215E9C9h (foo_tags+1E9C9h)
Address: 0218BBD0h (foo_tags+4BBD0h)
Address: 0218A638h (foo_tags+4A638h)
Address: 0215C67Ah (foo_tags+1C67Ah)
Address: 021AE28Ch (foo_tags+6E28Ch)
Address: 0218A1FAh (foo_tags+4A1FAh)
Address: 0215EC1Fh (foo_tags+1EC1Fh)
Address: 021AE28Ch (foo_tags+6E28Ch)
Address: 0218A6A8h (foo_tags+4A6A8h)
Address: 0050C87Bh (foobar2000+10C87Bh)
Address: 00559008h (foobar2000+159008h)
Address: 0050B90Bh (foobar2000+10B90Bh)
Address: 0050B96Ah (foobar2000+10B96Ah)
Address: 00559008h (foobar2000+159008h)
Address: 044FC348h (foo_gep+CC348h)
Address: 0443A03Fh (foo_gep+A03Fh)
Address: 005266DFh (foobar2000+1266DFh)
Address: 0050BFC5h (foobar2000+10BFC5h)
Address: 021AE28Ch (foo_tags+6E28Ch)
Address: 0057F740h (foobar2000+17F740h)
Address: 00547F3Ch (foobar2000+147F3Ch)
Address: 00559008h (foobar2000+159008h)
Address: 021AE28Ch (foo_tags+6E28Ch)
Address: 030995B8h (foo_unpack+395B8h)
Address: 0054FFC4h (foobar2000+14FFC4h)
Address: 00526733h (foobar2000+126733h)
Address: 0050BA11h (foobar2000+10BA11h)
Address: 0052674Eh (foobar2000+12674Eh)
Address: 00441342h (foobar2000+41342h)
Address: 7C90E900h (ntdll+E900h), symbol: "strchr" (+113h)
Address: 7C914298h (ntdll+14298h), symbol: "RtlDetermineDosPathNameType_U" (+72Eh)
Address: 7C910098h (ntdll+10098h), symbol: "RtlFreeHeap" (+18Bh)
Address: 7C910021h (ntdll+10021h), symbol: "RtlFreeHeap" (+114h)
Address: 7C91003Dh (ntdll+1003Dh), symbol: "RtlFreeHeap" (+130h)
Address: 7C90FF0Dh (ntdll+FF0Dh), symbol: "RtlFreeHeap" (+0h)
Address: 7C8109EFh (kernel32+109EFh), symbol: "CreateFileW" (+1FFh)
Address: 7C90D7BCh (ntdll+D7BCh), symbol: "NtQueryInformationFile" (+Ch)
Address: 7C810AB6h (kernel32+10AB6h), symbol: "GetFileSizeEx" (+1Dh)
Address: 7C810B1Ah (kernel32+10B1Ah), symbol: "GetFileSize" (+13h)
Address: 00440478h (foobar2000+40478h)
Address: 00440484h (foobar2000+40484h)
Address: 00511EBAh (foobar2000+111EBAh)
Address: 0050CC1Ah (foobar2000+10CC1Ah)
Address: 0050D21Eh (foobar2000+10D21Eh)
Address: 0050D0E3h (foobar2000+10D0E3h)
Address: 00527BECh (foobar2000+127BECh)
Address: 0043FBDEh (foobar2000+3FBDEh)
Address: 0043FC39h (foobar2000+3FC39h)
Address: 7C90D7BCh (ntdll+D7BCh), symbol: "NtQueryInformationFile" (+Ch)
Address: 7C831C63h (kernel32+31C63h), symbol: "GetFileTime" (+2Eh)
Address: 0040CBB0h (foobar2000+CBB0h)
Address: 0054C754h (foobar2000+14C754h)
Address: 0309D414h (foo_unpack+3D414h)
Address: 0057F740h (foobar2000+17F740h)
Address: 00532554h (foobar2000+132554h)
Address: 00440F6Fh (foobar2000+40F6Fh)
Address: 0053256Eh (foobar2000+13256Eh)
Address: 004417EDh (foobar2000+417EDh)
Address: 0054C754h (foobar2000+14C754h)
Address: 00445DEFh (foobar2000+45DEFh)
Address: 0053284Dh (foobar2000+13284Dh)
Address: 0044265Fh (foobar2000+4265Fh)
Address: 7C910040h (ntdll+10040h), symbol: "RtlFreeHeap" (+133h)
Address: 00530F08h (foobar2000+130F08h)
Address: 0044267Fh (foobar2000+4267Fh)
Address: 7C80932Eh (kernel32+932Eh), symbol: "GetTickCount" (+0h)
Address: 7C91003Dh (ntdll+1003Dh), symbol: "RtlFreeHeap" (+130h)
Address: 00530F08h (foobar2000+130F08h)
Address: 00443DFAh (foobar2000+43DFAh)
Address: 7C80932Eh (kernel32+932Eh), symbol: "GetTickCount" (+0h)
Address: 00440D56h (foobar2000+40D56h)
Address: 00440D94h (foobar2000+40D94h)
Address: 00532C1Ah (foobar2000+132C1Ah)
Address: 0044473Ah (foobar2000+4473Ah)
Address: 7C80932Eh (kernel32+932Eh), symbol: "GetTickCount" (+0h)
Address: 00547F58h (foobar2000+147F58h)
Address: 0054C59Ch (foobar2000+14C59Ch)
Address: 0058018Ch (foobar2000+18018Ch)
Address: 004446F4h (foobar2000+446F4h)
Address: 00532D41h (foobar2000+132D41h)
Address: 00444DA1h (foobar2000+44DA1h)
Address: 00547F3Ch (foobar2000+147F3Ch)
Address: 00547F3Ch (foobar2000+147F3Ch)
Address: 00547F58h (foobar2000+147F58h)
Address: 00547F3Ch (foobar2000+147F3Ch)
Address: 00513019h (foobar2000+113019h)
Address: 7C8106E9h (kernel32+106E9h), symbol: "CreateThread" (+22h)
Address: 00532F70h (foobar2000+132F70h)
Address: 004445EAh (foobar2000+445EAh)
Address: 10002846h (shared+2846h), symbol: "uPrintCrashInfo_OnEvent" (+B9h)
Address: 0054C4B0h (foobar2000+14C4B0h)
Address: 00532FCAh (foobar2000+132FCAh)
Address: 00444518h (foobar2000+44518h)
Address: 00532FDDh (foobar2000+132FDDh)
Address: 004F9C5Ch (foobar2000+F9C5Ch)
Address: 00523BB0h (foobar2000+123BB0h)
Address: 004F9DABh (foobar2000+F9DABh)
Address: 00512FF3h (foobar2000+112FF3h)
Address: 4BA878C2h (icudt49+D878C2h)
Address: 00516410h (foobar2000+116410h)
Address: 0051307Dh (foobar2000+11307Dh)
Address: 7C80B713h (kernel32+B713h), symbol: "GetModuleFileNameA" (+1B4h)
Address: 7C839AC0h (kernel32+39AC0h), symbol: "ValidateLocale" (+2B0h)
Address: 7C80B720h (kernel32+B720h), symbol: "GetModuleFileNameA" (+1C1h)
Address: 00513019h (foobar2000+113019h)

Environment:
App: foobar2000 v1.3.9
UI: Default User Interface 0.9.5

Components:
Core (2015-11-02 13:34:32 UTC)
    foobar2000 core 1.3.9
foo_ac3.dll (2013-02-28 02:21:29 UTC)
    AC3 decoder 0.9.7
foo_acm_packet_decoder.dll (2014-05-16 20:57:56 UTC)
    ACM Packet Decoder 0.0.1
foo_adpcm.dll (2015-02-23 21:33:35 UTC)
    kode's ADPCM decoders 1.11
foo_cdda.dll (2015-11-02 13:30:24 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2015-11-02 13:30:32 UTC)
    Converter 1.5
foo_dsp_effect.dll (2015-04-03 04:24:09 UTC)
    Effect DSP 0.16
foo_dsp_eq.dll (2015-11-02 13:30:52 UTC)
    Equalizer 1.0
foo_dsp_resampler.dll (2013-12-15 10:56:08 UTC)
    SoX Resampler 0.8.3
foo_dsp_std.dll (2015-11-02 13:30:38 UTC)
    Standard DSP Array 1.3.1
foo_dumb.dll (2015-11-15 01:14:08 UTC)
    DUMB module decoder 1.0.158
foo_fileops.dll (2015-11-02 13:30:04 UTC)
    File Operations 2.2.1
foo_flv.dll (2013-08-24 23:19:09 UTC)
    Flash Video Decoder 0.9.6
foo_gep.dll (2015-12-28 18:46:05 UTC)
    Game Emu Player 1.193
foo_input_amr.dll (2014-11-04 12:58:28 UTC)
    AMR 输入 1.1.1
foo_input_aodsf.dll (2013-02-28 02:22:24 UTC)
    DSF decoder / Audio Overload SDK 1.4.8u3 0.10
foo_input_caf.dll (2014-05-15 11:50:39 UTC)
    CAF Decoder 0.0.10
foo_input_dts.dll (2014-06-10 01:25:33 UTC)
    DTS decoder 0.3.3
foo_input_mdx.dll (2013-02-28 01:59:12 UTC)
    MDC input 1.0.1
    MDX input 1.1.0
foo_input_monkey.dll (2013-05-24 13:21:18 UTC)
    Monkey's Audio Decoder 2.1.7
foo_input_std.dll (2015-11-02 13:34:32 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2013-10-13 03:38:21 UTC)
    TAK Decoder 0.4.7
foo_input_tta.dll (2013-02-28 01:59:12 UTC)
    TTA Audio Decoder 3.0
foo_input_usf.dll (2015-05-31 14:47:58 UTC)
    LazyUSF 2.2.39
foo_input_vgmstream.dll (2015-10-13 14:23:26 UTC)
    vgmstream plugin r1050-32-gec99511
foo_midi.dll (2015-10-13 14:23:26 UTC)
    MIDI synthesizer host 1.247
foo_playback_custom.dll (2013-06-08 01:56:52 UTC)
    Playback Statistics Custom 1.5.1
foo_psf.dll (2015-10-13 14:23:26 UTC)
    AOPSF 2.1.9
foo_quicktag.dll (2013-06-08 01:01:34 UTC)
    Quick Tagger 1.0.3
foo_rgscan.dll (2015-11-02 13:31:02 UTC)
    ReplayGain Scanner 2.2.2
foo_skip.dll (2015-02-01 23:16:05 UTC)
    Skip Track 1.9.7
foo_tags.dll (2016-01-03 22:14:52 UTC)
    m-TAGS 1.12
foo_texttools.dll (2013-02-28 01:59:12 UTC)
    Text Tools 1.0.5
foo_ui_std.dll (2015-11-02 13:34:32 UTC)
    Default User Interface 0.9.5
foo_unpack.dll (2015-11-02 13:30:38 UTC)
    ZIP/GZIP/RAR Reader 1.7.1
foo_verifier.dll (2014-09-30 22:35:38 UTC)
    File Integrity Verifier 1.1.2
foo_wave_seekbar.dll (2014-02-16 11:07:57 UTC)
    Waveform seekbar 0.2.45

Recent events:
Loading DLL: E:\Programs\bin\aud\foobar2000\components\foo_input_std.dll
Loading DLL: E:\Programs\bin\aud\foobar2000\user-components\foo_dsp_resampler\foo_dsp_resampler.dll
Loading DLL: E:\Programs\bin\aud\foobar2000\user-components\foo_adpcm\foo_adpcm.dll
Loading DLL: E:\Programs\bin\aud\foobar2000\user-components\foo_quicktag\foo_quicktag.dll
Loading DLL: E:\Programs\bin\aud\foobar2000\user-components\foo_input_mdx\foo_input_mdx.dll
Loading DLL: E:\Programs\bin\aud\foobar2000\user-components\foo_input_aodsf\foo_input_aodsf.dll
Loading DLL: E:\Programs\bin\aud\foobar2000\user-components\foo_gep\foo_gep.dll
Components loaded in: 0:00.135334
Pre config read
Configuration read in: 0:00.003987
Starting playlist loading
User Interface initialized in: 0:00.016461
Processing commandline
initquit::init entry
Autoplaylists initialized in: 0:00.106688
foo_input_caf: C:\Program Files\Common Files\Apple\Apple Application Support\CoreAudioToolbox.dll version 7.9.8.6
initquit::init exit
Startup time : 0:00.436680
Seekbar: taking Direct3D9 path.
Seekbar: Frontend initialized.
Shutting down...


Machine specifications:
OS: Windows 5.1.2600 Service Pack 3 x86
CPU: Intel® Core™2 Duo CPU    E8200  @ 2.66GHz, features: MMX SSE SSE2 SSE3 SSE4.1
CPU threads: 2
Audio: Realtek HD Audio output

m-TAGS component (foo_tags)

Reply #236
Also, question; can you possibly propagate the "location" info from sources in properties windows? For example, here I would've liked to seen the FLAC file's info instead of the tag file's info:


(sorry for double-posting, I'm unable to edit my previous post)

 

Re: m-TAGS component (foo_tags)

Reply #237
Nisto:

You are not at all disrespectful. If it is broken... it is broken!

I looked at the log. I really wish you could produce my traces. It would be great if you could turn the detailed trace on. But you cannot do it without loading the library, and you cannot load the library without crashing fb2k... catch 22!

For what I can see the issue seems to be related to fb2k's folder watching task. My HORRIBLE fear is that I have met yet another dependency problem. Here is what I fear: m-TAGS relies on the media input components to read media info. If the folder watching task call m-TAGS BEFORE a media input component is loaded, a crash is probably guaranteed.

The problem is that there is no way in fb2k to force a component to be loaded AFTER the others. If you could eliminate all folders from the media library, and after that install foo_tags.dll, could you let me know if it still crashes? If it does not, then please turn the verbose logging on, then try to add the folders back and see if it does crash.

On the other hand, I find it quite strange that the folder watching task would be started before loading ALL components.... so, on with other possibilities....

I noticed a couple of things in the trace:

1) It looks like the file that sparks the folder watch tag read is a zipped file. Do you have m-TAGS files INSIDE zipped files? That could be a hint.

2) I see that that foo_gep is in the stack trace. Do you have GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, or VGM files???


---------------------------------------

As for propagating the location, I cannot, because fb2k does not ask m-TAGS for an "alternative" location. The media file location is, however contained in the "@REFERENCED_FILE" pseudo-tag. You can use $info(@REFERENCED_FILE) to display it (there is also a @REFERENCED_INDEX pseudo-tag for multitrack files).

Re: m-TAGS component (foo_tags)

Reply #238
Well, actually, I can load the library, but loading any .tags file does cause it to crash. Where would I turn on detailed logging? I don't see any option in the advanced settings with m-TAGS v0.1 (which I've resorted to now). Do you mean verbose logging? That's enabled in my current setup and I doubt it was off when I last tried the latest version.

You could be right about dependencies. Lots of module and video game music formats have components doing wonky things with tags that may "dominate" other components. But I was only testing FLAC files with m-TAGS last I posted here.

I already did try the latest m-TAGS version on a clean portable installation of fb2k v1.3.9, with no watch folder or library stuff configured whatsoever, and it still crashed with standard FLAC files.

I have no archives in my library/watched folders, and certainly no archive anywhere on my computer with m-TAGS files in it.

Yes, I do have GBS, GYM, NSF(E), SPC and VGM files.

That's too bad about the location info. I actually already thought of utilizing the @REFERENCED_FILE tag as best I could once I discovered it, but sadly... I'm battling another bug there: paths longer than 177 bytes (?!) fail to display, and a false value (or "?") is returned. That is, 177 bytes starting from the driver letter, to the final letter of the extension, e.g.: E:\Music\song.flac = 18 bytes. Do you know anything about this? Again, I've tried this on a clean portable installation as well, and I'm having the same issue there.

Re: m-TAGS component (foo_tags)

Reply #239
Hi,

First of all, thanks for this component, It gets me around some issues I had with different audio formats and storage formats.

As a result of the storage format differences (single image file versus separate track files) I've got two wishes that currently don't seem to be possible with m-TAGS.

I would like to be able to specify via command line (foobar2000 /m-TAGS folder) whether it should use the folder wide method or the file for each track method. I've added this command to use with the Run Services component and it would be awesome if I didn't need to switch this option on/off in Advanced config options.

the second wish would be to be able to specify the folder wide name using the title formatting features, e.g. %album% - %artist%.mtag when using folder wide format. It currently doesn't seem to support using tag fields to construct the name (or I must be doing it wrong)


Re: m-TAGS component (foo_tags)

Reply #240
Oh yeah, I've come across another minor bug/annoyance. If I select multiple items in a playlist where at least one item has a certain tag (name), the selection properties element just shows "(unknown)" for the item(s) that doesn't have the tag. I assume it has to do with the empty array ([]) in the JSON-style data for those items (which clears tags for subsequent items if they're not actually defined there), but is there any way you could properly discard this redundant data? Or does this have something to do with foobar2000 at the core level?

A picture probably helps explain what I mean better, if needed:

Re: m-TAGS component (foo_tags)

Reply #241
Oh yeah, I've come across another minor bug/annoyance. If I select multiple items in a playlist where at least one item has a certain tag (name), the selection properties element just shows "(unknown)" for the item(s) that doesn't have the tag. I assume it has to do with the empty array ([]) in the JSON-style data for those items (which clears tags for subsequent items if they're not actually defined there), but is there any way you could properly discard this redundant data? Or does this have something to do with foobar2000 at the core level?


This is an annoyance, but not a bug. The "empty array" is used to signal absence of a certain tag. Without it, the playcount of 21 and the rating of 30 would "cascade" from the previous track. fb2k CORRECTLY interprets the missing tag as "unknown". The component which is responsible to display the track on the playlist maps "absence" to 0 (which, I guess is what you want). But the component has no control over the standard fb2k matadata windows, hence the "unknown". The only way to "correct" this is to explicitely initialize to 0 the playcount (and rating? But isn't "unknown" actually more correct in this case?) of each track.

If you look at the foo_playcount title format reference (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Titleformat_Playback_Statistics), you will see that all playcount fields are not initialized to 0 by default, but rather "the field does not exist". And it could not be otherwise, because the component does not even know of the existence of the media until it is played.

Re: m-TAGS component (foo_tags)

Reply #242
Hi,

First of all, thanks for this component, It gets me around some issues I had with different audio formats and storage formats.

As a result of the storage format differences (single image file versus separate track files) I've got two wishes that currently don't seem to be possible with m-TAGS.

I would like to be able to specify via command line (foobar2000 /m-TAGS folder) whether it should use the folder wide method or the file for each track method. I've added this command to use with the Run Services component and it would be awesome if I didn't need to switch this option on/off in Advanced config options.

the second wish would be to be able to specify the folder wide name using the title formatting features, e.g. %album% - %artist%.mtag when using folder wide format. It currently doesn't seem to support using tag fields to construct the name (or I must be doing it wrong)



Can you tell me what is the final goal? That is, what is the file structure that you aim to create? Maybe I can suggest a solution that would not require me to add more code just for a very specific requirement.

Re: m-TAGS component (foo_tags)

Reply #243
Aah, you're absolutely right. I didn't realize it showed "unknown" for non-.tags files (where a tag that's present in other files is missing) as well. I thought it was an m-TAGS exclusive thing. Never noticed it before, humph..

Re: m-TAGS component (foo_tags)

Reply #244
Hi,

First of all, thanks for this component, It gets me around some issues I had with different audio formats and storage formats.

As a result of the storage format differences (single image file versus separate track files) I've got two wishes that currently don't seem to be possible with m-TAGS.

I would like to be able to specify via command line (foobar2000 /m-TAGS folder) whether it should use the folder wide method or the file for each track method. I've added this command to use with the Run Services component and it would be awesome if I didn't need to switch this option on/off in Advanced config options.

the second wish would be to be able to specify the folder wide name using the title formatting features, e.g. %album% - %artist%.mtag when using folder wide format. It currently doesn't seem to support using tag fields to construct the name (or I must be doing it wrong)



Can you tell me what is the final goal? That is, what is the file structure that you aim to create? Maybe I can suggest a solution that would not require me to add more code just for a very specific requirement.
The goal is as I described. I have different storage formats (single file cd images and separate tracks. For the folders containing those single images (FLAC) I use 'separate tag files' but for my collection folders containing separate mp3's I use the single-file-for-whole-folder format.

Currently I have the Run Services component assigned to fire the foobar /m-TAG command, but have* to switch the configuration each time when processing a different type storage folder..

To be honest, I'm not about to change my storage preferences to fit the tools but rather looking for ways to have the tools fit my preferences.
(*)I could kludge it with an extra, barebones fb2k portable install, configured for the other method so I don't have to dive 4 layers deep into configuration to switch a flag each time. But that seems a bit overkill since it means having two instances running side by side.

I can appreciate you not wanting to add mode code for a specific wish, but I'd be already glad if it got put on a 2bd list for a future release.

PS. And it's not about wanting to create a certain file structure, it's about trying to fit it to an already existing folder/filestructure, which is way too big to reorganize into a different one.

EDIT: I forgot about the title formatting. As a result of the .tags files being able to be used as 'playlists' similar to cue files. I've started using this option to get around display limitations when using hardlinked or symbolic linked files. (tag information reflecting the values of the original). m-TAG allows me to specify different tag values for the 'links'.  But to benefit from this I need to make .tags files visible to foobar via restricted extension search. But by having Foobar ignore the original sound files, I am faced with a library tree that is showing the same tagfile name in each folder. If I could have them named via title formatting attributes, at least the names would reflect what they point at in the library tree view,

Re: m-TAGS component (foo_tags)

Reply #245

The goal is as I described. I have different storage formats (single file cd images and separate tracks. For the folders containing those single images (FLAC) I use 'separate tag files' but for my collection folders containing separate mp3's I use the single-file-for-whole-folder format.

Currently I have the Run Services component assigned to fire the foobar /m-TAG command, but have* to switch the configuration each time when processing a different type storage folder..

To be honest, I'm not about to change my storage preferences to fit the tools but rather looking for ways to have the tools fit my preferences.
(*)I could kludge it with an extra, barebones fb2k portable install, configured for the other method so I don't have to dive 4 layers deep into configuration to switch a flag each time. But that seems a bit overkill since it means having two instances running side by side.

I can appreciate you not wanting to add mode code for a specific wish, but I'd be already glad if it got put on a 2bd list for a future release.

PS. And it's not about wanting to create a certain file structure, it's about trying to fit it to an already existing folder/filestructure, which is way too big to reorganize into a different one.

EDIT: I forgot about the title formatting. As a result of the .tags files being able to be used as 'playlists' similar to cue files. I've started using this option to get around display limitations when using hardlinked or symbolic linked files. (tag information reflecting the values of the original). m-TAG allows me to specify different tag values for the 'links'.  But to benefit from this I need to make .tags files visible to foobar via restricted extension search. But by having Foobar ignore the original sound files, I am faced with a library tree that is showing the same tagfile name in each folder. If I could have them named via title formatting attributes, at least the names would reflect what they point at in the library tree view,

Can I ask you why do you use separate tag files for single FLAC images? It would make more sense to use a single file (well, at least that's what I do), but I am sure I am missing something

Re: m-TAGS component (foo_tags)

Reply #246
... snip ...

Can I ask you why do you use separate tag files for single FLAC images? It would make more sense to use a single file (well, at least that's what I do), but I am sure I am missing something
I've got each flac image stored in it's own 'album' folder and also depending heavily on the album list panel for it's folder view. Since folder-wide tag files all use the same name, it makes it harder to locate with the tree showing a lot of same named entries (it shows the filename of the tag instead of the album name). The Per-File method at least solves part of this visual annoyance by creating files with the same name as the media file. (In the case of a flac image that would be "album - artist"). 

But, since for collection folders with a lot of single tracks, the folder-wide method is much better suited, I like those files to reflect the name of the folder they're contained in... 

So, having a command line option to have it switch file type, and the use of title formatting in specifying folder-wide names, would make it the ultimate solution for me without having to do any manual after-the-fact managing. As it is, I'm 99.9% there.

EDIT: This may not be so obvious as I thought, but for completeness sake. I have configured foobar to ignore the media files themselves, otherwise it would show duplicate entries (once from the tag file(s) and once from the media file itself)

Re: m-TAGS component (foo_tags)

Reply #247
... snip ...

Can I ask you why do you use separate tag files for single FLAC images? It would make more sense to use a single file (well, at least that's what I do), but I am sure I am missing something
I've got each flac image stored in it's own 'album' folder and also depending heavily on the album list panel for it's folder view. Since folder-wide tag files all use the same name, it makes it harder to locate with the tree showing a lot of same named entries (it shows the filename of the tag instead of the album name). The Per-File method at least solves part of this visual annoyance by creating files with the same name as the media file. (In the case of a flac image that would be "album - artist"). 

But, since for collection folders with a lot of single tracks, the folder-wide method is much better suited, I like those files to reflect the name of the folder they're contained in... 

So, having a command line option to have it switch file type, and the use of title formatting in specifying folder-wide names, would make it the ultimate solution for me without having to do any manual after-the-fact managing. As it is, I'm 99.9% there.

EDIT: This may not be so obvious as I thought, but for completeness sake. I have configured foobar to ignore the media files themselves, otherwise it would show duplicate entries (once from the tag file(s) and once from the media file itself)

I have a humongous collection, and it is pretty much structured like yours. I only use folder-wide tag files because the collection is hosted on networked drives and it takes much less to download one file than many, to say nothing about the wasted space.

I use the same panel, and I am 'annoyed' by the bangs as well. But the obvious solution was NOT to use the folder view. You can create a customized path view which simply replaces the last segment of the path (i.e. the file name) with whatever tags FROM the file that you wish, or hide it completely, for which you could simply use "$replace($directory_path(%path%),\,|)".

If you are not expert on how to do it, I can do it for you, but I need to have an example of one of your flac folders and an explanation of how you want the tree to look.

P.S. I exclude the media files too. That is actually the correct way to use m-TAGS.

Re: m-TAGS component (foo_tags)

Reply #248
...lots of snipping...

I have a humongous collection, and it is pretty much structured like yours. I only use folder-wide tag files because the collection is hosted on networked drives and it takes much less to download one file than many, to say nothing about the wasted space.

I use the same panel, and I am 'annoyed' by the bangs as well. But the obvious solution was NOT to use the folder view. You can create a customized path view which simply replaces the last segment of the path (i.e. the file name) with whatever tags FROM the file that you wish, or hide it completely, for which you could simply use "$replace($directory_path(%path%),\,|)".

If you are not expert on how to do it, I can do it for you, but I need to have an example of one of your flac folders and an explanation of how you want the tree to look.

P.S. I exclude the media files too. That is actually the correct way to use m-TAGS.

I'm not too worried about space waste, as it is even a per-album .tags file is on average already 40-60KB with all the additional Discogs/MusicBrainz info tagged on. I even found a couple that were close to 200KB for the one album...Seems tag frames like Discogs_Release_Notes get attached to every track, even though they appear to be the exact same for every track in the album... Thought that wasn't supposed to happen with repeated info but could be mistaken.

Indeed, I have also started experimenting with the different views I can make in the album list panel. So I won't be needing to take you up on that very kind offer, as this will be a good opportunity for me to get to grip with the various other functions. Already spent a good deal of time in finding out how to get the playing track highlighted in the DUI view, so this will just be a next step.

Still, if you happen to be working on it for whatever other reason ... ;)

Re: m-TAGS component (foo_tags)

Reply #249
Thank you luigimercurio for this wonderful tool, it perfectly solved my problems with my massive music collection!

But I do found a small annoyance regarding album arts. I usually store each of my music album in a single file with embedded album arts. When I single-click select a track from the playlist, the album art loads just fine. But when I use the toolbar or double-click to play the track, the album art sometimes turn into "[no image]". And when I skip to another track in the same album or other albums while playing, the album arts will never show up.

I only ticked the "Create a separate m-tags file for each source file" option. Am I doing something wrong?

Thank you.