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: foo_component_manager (Read 74793 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_component_manager

Reply #25
I just wanted to say thanks! It's already come in handy. I'm good about keeping components up to date. Yet, I had 3 I never kept track of. Updating is such a breeze now.

Great work!

foo_component_manager

Reply #26
Thanks you! This is a great plugin!

foo_component_manager

Reply #27
It would be nice if one could submit a list of components that one has and that aren't on the XML list. Although I guess that could lead to quite a load of redundant submissions.

foo_component_manager

Reply #28
Version 0.1.2 is out. There's just a couple of minor changes, the main one being core components aren't marked as missing from the xml file.

I did a reasonable sized update to the xml update list, so it's probably worth re-running the check for updates.

This old version of foo_adpcm crashes the plugin just after "Status: Downloading XML data", probably when you enumerates plugins.
This is probably related to the fact this component declare several components. The latest foo_adpcm available on the components page do not crash your plugin.
Also what was strange is that when crashing I direclty got the Microsoft submit crash dialog instead of foobar2000's one.

I had to disable plugins one by one to find the offender .

Thanks for doing that bit of investigation. It looks like the names of the components within the dll have changed between versions, which I haven't accounted for. I've removed foo_adpcm from the xml update list until it's resolved.

foo_component_manager

Reply #29
Works as expected here! Thanks! This is a new entry on my must-download list.

foo_component_manager

Reply #30
Update process worked smoothely and as expected. Thank you very much!

foo_component_manager

Reply #31
Hm, just tried it on my home PC and though it downloads the components just fine, it fails to successfully extract them and so fails to update.

foo_component_manager

Reply #32
What OS are you using and where abouts is foobar2000 installed to on your home PC? Are 7z.exe and 7z.dll in the foobar2000 folder? Could you please post the update.bat file? (found under either foobar2000\updates for a portable installation, or under c:\Users\<username>\AppData\Roaming\foobar2000\updates on Vista/7 or C:\Documents and Settings\<username>\Application Data\foobar2000\updates on XP for a standard install).

foo_component_manager

Reply #33
Win7. foobar2000 is installed to k:\foobar2000. 7z.* are where they should be. My install is not portable, but my config files are stored in the application folder, and this does not seem to confuse the component.

Code: [Select]
@echo off
echo foobar2000 component update in progress...

ping -n 2 127.0.0.1 >NUL

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_ac3" "K:\foobar2000\updates\foo_ac3.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_ac3\foo_ac3.dll" "K:\foobar2000\components\foo_ac3.dll"
rd /S /Q "K:\foobar2000\updates\foo_ac3"
del /Q "K:\foobar2000\updates\foo_ac3.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_audioscrobbler" "K:\foobar2000\updates\foo_audioscrobbler-1.4.6.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_audioscrobbler\foo_audioscrobbler.dll" "K:\foobar2000\components\foo_audioscrobbler.dll"
rd /S /Q "K:\foobar2000\updates\foo_audioscrobbler"
del /Q "K:\foobar2000\updates\foo_audioscrobbler-1.4.6.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_burninate" "K:\foobar2000\updates\foo_burninate_3.0.2.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_burninate\foo_burninate.dll" "K:\foobar2000\components\foo_burninate.dll"
rd /S /Q "K:\foobar2000\updates\foo_burninate"
del /Q "K:\foobar2000\updates\foo_burninate_3.0.2.zip"

move /Y "K:\foobar2000\updates\foo_discogs.dll" "K:\foobar2000\components\foo_discogs.dll"
del /Q "K:\foobar2000\updates\foo_discogs.dll"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_dop" "K:\foobar2000\updates\foo_dop-0.6.6.5.7z"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_dop\foo_dop.dll" "K:\foobar2000\components\foo_dop.dll"
rd /S /Q "K:\foobar2000\updates\foo_dop"
del /Q "K:\foobar2000\updates\foo_dop-0.6.6.5.7z"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_dumb" "K:\foobar2000\updates\foo_dumb.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_dumb\foo_dumb.dll" "K:\foobar2000\components\foo_dumb.dll"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_dumb\unmo3.dll" "K:\foobar2000\components\unmo3.dll"
rd /S /Q "K:\foobar2000\updates\foo_dumb"
del /Q "K:\foobar2000\updates\foo_dumb.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_gep" "K:\foobar2000\updates\foo_gep.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_gep\foo_gep.dll" "K:\foobar2000\components\foo_gep.dll"
rd /S /Q "K:\foobar2000\updates\foo_gep"
del /Q "K:\foobar2000\updates\foo_gep.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_input_alac" "K:\foobar2000\updates\foo_input_alac_1.0.5.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_input_alac\foo_input_alac.dll" "K:\foobar2000\components\foo_input_alac.dll"
rd /S /Q "K:\foobar2000\updates\foo_input_alac"
del /Q "K:\foobar2000\updates\foo_input_alac_1.0.5.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_input_hvl" "K:\foobar2000\updates\foo_input_hvl.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_input_hvl\foo_input_hvl.dll" "K:\foobar2000\components\foo_input_hvl.dll"
rd /S /Q "K:\foobar2000\updates\foo_input_hvl"
del /Q "K:\foobar2000\updates\foo_input_hvl.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_input_monkey" "K:\foobar2000\updates\foo_input_monkey_2.1.4.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_input_monkey\foo_input_monkey.dll" "K:\foobar2000\components\foo_input_monkey.dll"
rd /S /Q "K:\foobar2000\updates\foo_input_monkey"
del /Q "K:\foobar2000\updates\foo_input_monkey_2.1.4.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_jesus" "K:\foobar2000\updates\foo_jesus-v8.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_jesus\foo_jesus.dll" "K:\foobar2000\components\foo_jesus.dll"
rd /S /Q "K:\foobar2000\updates\foo_jesus"
del /Q "K:\foobar2000\updates\foo_jesus-v8.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_masstag" "K:\foobar2000\updates\foo_masstag_1.8.4.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_masstag\foo_masstag.dll" "K:\foobar2000\components\foo_masstag.dll"
rd /S /Q "K:\foobar2000\updates\foo_masstag"
del /Q "K:\foobar2000\updates\foo_masstag_1.8.4.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_midi" "K:\foobar2000\updates\foo_midi.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_midi\foo_midi.dll" "K:\foobar2000\components\foo_midi.dll"
rd /S /Q "K:\foobar2000\updates\foo_midi"
del /Q "K:\foobar2000\updates\foo_midi.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_musicbrainz" "K:\foobar2000\updates\foo_musicbrainz-0.2-20090410.7z"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_musicbrainz\foo_musicbrainz.dll" "K:\foobar2000\components\foo_musicbrainz.dll"
rd /S /Q "K:\foobar2000\updates\foo_musicbrainz"
del /Q "K:\foobar2000\updates\foo_musicbrainz-0.2-20090410.7z"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_out_wasapi" "K:\foobar2000\updates\foo_out_wasapi_2.1.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_out_wasapi\foo_out_wasapi.dll" "K:\foobar2000\components\foo_out_wasapi.dll"
rd /S /Q "K:\foobar2000\updates\foo_out_wasapi"
del /Q "K:\foobar2000\updates\foo_out_wasapi_2.1.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_quicktag" "K:\foobar2000\updates\foo_quicktag_1.0.2.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_quicktag\foo_quicktag.dll" "K:\foobar2000\components\foo_quicktag.dll"
rd /S /Q "K:\foobar2000\updates\foo_quicktag"
del /Q "K:\foobar2000\updates\foo_quicktag_1.0.2.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_ui_columns" "K:\foobar2000\updates\foo_ui_columns-0.3.8.3.7z"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_ui_columns\foo_ui_columns.dll" "K:\foobar2000\components\foo_ui_columns.dll"
rd /S /Q "K:\foobar2000\updates\foo_ui_columns"
del /Q "K:\foobar2000\updates\foo_ui_columns-0.3.8.3.7z"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_uie_albumlist" "K:\foobar2000\updates\foo_uie_albumlist-0.3.5.7z"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_uie_albumlist\foo_uie_albumlist.dll" "K:\foobar2000\components\foo_uie_albumlist.dll"
rd /S /Q "K:\foobar2000\updates\foo_uie_albumlist"
del /Q "K:\foobar2000\updates\foo_uie_albumlist-0.3.5.7z"

move /Y "K:\foobar2000\updates\foo_upnp.dll" "K:\foobar2000\components\foo_upnp.dll"
del /Q "K:\foobar2000\updates\foo_upnp.dll"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_vis_shpeck" "K:\foobar2000\updates\foo_vis_shpeck-0.3.7.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_vis_shpeck\foo_vis_shpeck.dll" "K:\foobar2000\components\foo_vis_shpeck.dll"
rd /S /Q "K:\foobar2000\updates\foo_vis_shpeck"
del /Q "K:\foobar2000\updates\foo_vis_shpeck-0.3.7.zip"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_wave_seekbar" "K:\foobar2000\updates\foo_wave_seekbar_0.1.10.7z"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_wave_seekbar\components\foo_wave_seekbar.dll" "K:\foobar2000\components\foo_wave_seekbar.dll"
md "K:\foobar2000\effects"
move /Y "K:\foobar2000\updates\foo_wave_seekbar\effects\seekbar.fx" "K:\foobar2000\effects\seekbar.fx"
rd /S /Q "K:\foobar2000\updates\foo_wave_seekbar"
del /Q "K:\foobar2000\updates\foo_wave_seekbar_0.1.10.7z"

"K:\foobar2000\7z" x -y -o"K:\foobar2000\updates\foo_wlm" "K:\foobar2000\updates\foo_wlm_1.1.3.zip"
md "K:\foobar2000\components"
move /Y "K:\foobar2000\updates\foo_wlm\foo_wlm.dll" "K:\foobar2000\components\foo_wlm.dll"
rd /S /Q "K:\foobar2000\updates\foo_wlm"
del /Q "K:\foobar2000\updates\foo_wlm_1.1.3.zip"

echo.
echo Update complete.

foo_component_manager

Reply #34
If you open up a command prompt and run the update.bat file, what does it output?

Could you also please try downloading and installing a single component to see if the same issue is occurring?

foo_component_manager

Reply #35
foobar2000 was not closed when the batch-file ran, which prevented it from replacing the .DLLs.

I closed the window and the batch-file ran before foobar2000 shut down.

foo_component_manager

Reply #36
Thanks for the feedback. I was thinking that may have been the case. I'll add a longer delay between foobar2000 shutting down and the batch file executing.

foo_component_manager

Reply #37
Thanks for the feedback. I was thinking that may have been the case. I'll add a longer delay between foobar2000 shutting down and the batch file executing.

You may check if the foobar2000 is running in the batch file in this way:
Code: [Select]
tasklist /nh /fi "IMAGENAME eq foobar2000.exe" 2>nul | findstr /i /b foobar2000.exe >nul 2>&1
if not ERRORLEVEL 1 echo foobar2000 is running

foo_component_manager

Reply #38
Thanks for that  Heheh I was just looking at using tasklist to do such a thing.

foo_component_manager

Reply #39
I assume I can't update update.bat myself manually by adding one extra line of code that checks if foobar2000 is running? It's generated automatically, right?

foo_component_manager

Reply #40
Wouldn't it be better to use PID? I hear people run more than one instance of foobar2000.exe at the time.
Full-quoting makes you scroll past the same junk over and over.

foo_component_manager

Reply #41
You could manually edit it after the updates have been downloaded (which is when the batch file is generated), but before closing foobar2000. Or you can just download the components and run the batch file manually after closing foobar2000.

You raise a good point Yirkha. PID does make more sense to use.

foo_component_manager

Reply #42
Version 0.1.4 is out and fixes a few more things. The next priority is to handle compressed xml files, as the xml file is getting a bit chubby with all the components being added to it.

On that note, I've searched all of the main component websites and developer pages for components and have been studiously adding them to the update list. If you have any exotic/lesser known components that aren't in the xml file, let me know and I'll be sure to add them.

foo_component_manager

Reply #43
1: thanks for this component
components: foo_dsp_fsurround, foo_channel_mixer, foo_7taskbar, foo_msnalt




foo_component_manager

Reply #47
When I first tried this I shed a tear... for all the update orgies done manually done in the past years. Really a great component. Thanks.

foo_component_manager

Reply #48
Bug: when trying to update foo_uie_vis_channel_spectrum from 0.14 to 0.17.2, the new dll erroneously replaces foo_abx

foo_component_manager

Reply #49
Thanks for the feedback. I was thinking that may have been the case. I'll add a longer delay between foobar2000 shutting down and the batch file executing.

can't "running" file help?

depending of foobar installation:
Code: [Select]
goto exec
:wait
ping 127.0.0.1 -n 1 -w 1000 > nul
:exec
if exist "%appdata%\foobar2000\running" goto wait