Is there a better way to send audio files to foobar?

This is what i have so far:

"C:\Program Files (x86)\foobar2000\foobar2000.exe" /ADD "%1"

But it works only for MP3 files. Is it possible to also include MP4 or webm files to be opened/appended at the same time?

I'm surprised it only works for MP3 files, but I don't know Foobar's command line inside out so maybe it makes sense.

How to use Foobar's command line might be more a question for Foobar's forum than ours, unless you get lucky and someone here happens to know the answer. We can definitely help with how to generate the required command line in Opus, but working out what the command line needs to be for a particular program is different for each program and it's possible no one here will know.

Still, it seems odd Foobar would want you to run it differently for each type. Have you tried running that kind of thing from a command prompt to check it isn't a different detail causing the problems?

Yeah, you're right. You can move the thread over to the coffeeshop. But yes, i thought, we have a couple of foobar users here, who might know.

That was a good idea. I found, that i can open other files than MP3 using the command line in Opus, but if i try it with MP4, using the keyboard shortcut, it will bring up the file's properties dialog window, which seems to be a good hint. Seems like that shortcut is clashing with Opus' default command to open the properties window. But otherwise i can't find any other shortcut using that combination (Ctrl-Enter), maybe, because it's hard coded?

I don't understand where is your problem.
I just add 2 ogg files, 1 mp4 file and 1 mp3 file using: C:\Program Files\Foobar\foobar2000.exe {F}

I also created another button: C:\Program Files\Foobar\foobar2000.exe /add {F}
With success (adding instead of replacing files)

You must just replace "Program Files" with "Program Files (x86)" in your case (I trying to use one directory for all 32 and 64 bit programs).

Thanks for the tip, peterb. I have tried that, but in my case foobar was getting into some kind of infinite loop. Whenever i thried to close an instance, it always came back up again, even when i closed it using Process Explorer. I suppose, i will have to experiment a bit, using another combination than Ctrl-Enter.

Ok, the code you have provided works with a different shortcut. Thanks once again!

Hi!

I would like to ask this also. I dont know what changed since the last post, but i have tried different methods, with 243 MP3 files. I would like selected files to be opened in Foobar and start playing them. But different methods react differently:

1st button:

@nodeselect
cd /homeroot/_apps\_FOO
@async:"/homeroot/_apps\_FOO\foobar2000.exe" {filepath|noterm}

Everything is fine, does what i want, except DOpus shows a progress bar, which slows things down.

2nd button:

"d:\_apps\_FOO\foobar2000.exe" "%1"

Same as above, progress bar appears.

3rd method:
select all 243 files and dragging onto Foobar2000.exe directly
This is the fastest by far! Almost instantaneous playback. No progress bar shows up.

How could i achieve this last method with a button? May i have some help please? What am i missing? Thank you in advance!

(Edit: Yes i know there is @noprogress, but still it is slower, its not the progress bar itself)

Looks like you worked out it's not the progress bar. :slight_smile:

The reason it is slower is that doing variations of this:

"foobar2000.exe" {filepath|noterm}

with 243 files selected will run foobar200.exe 243 times. {filepath} only uses a single filepath each time, so the command has to be run once for each file.

If foobar has a way to pass multiple filenames at once, on a single command-line, that would work better. You could also put the filenames into a temporary text file and get foobar to launch it as a playlist, although that might replace the existing items int he playlist, depending on your foobar settings, which may or may not be what you want.

I'm just heading out now but if you want help with that let me know and I'll look when I get back.

1 Like

Hm the usual method foobar2000.exe {allfilepath$} works OK for me and it's fast.
The only progressbar that can appear is Foobar's own progressbar when there are lots of files, but that can be disabled with the foobar's /immediate parameter as per docs:

foobar2000 always sorts incoming files using the pattern configured under "Preferences > Shell Integration". Because there is a possibility that more files belonging to the same batch will be passed to the program, adding the items really to a playlist is postponed until no new file is received for a short while, because only with the full set of incoming files they can be correctly sorted. Use this option to disable this behaviour for the currently added items.

2 Likes

Thx very much Leo! I have figured it out! I may have been lost in all the commands and possibilities offered by DOpus :slight_smile: Couldnt see the forest from the tree i guess.

This does the trick:
@nodeselect "/homeroot/_apps\_FOO\foobar2000.exe" /immediate {allfilepath}
What this does is it opens all selected files in default playlist (which can be set in Foobar2000s options) and starts playing the first track, clearing current list (not adding to that). And its just like dragging the files over the .exe, without any added delays. So dont need @async nor |noterm parameters. It works on the directory too which contains all 243 files.

@bytespiller
Thank you! Yep i knew about /immediate its even quicker with that command, i just edited my reply according to that when i saw your reply! One question though, is {allfilepath$} better than {allfilepath}?
Edit: Okay i figured that out too :slight_smile: so {allfilepath$} does not run if nothing is selected.

Thank you both for helping me out!

2 Likes