IPB

Welcome Guest ( Log In | Register )

> foobar2000 Tech Support Forum Rules

Please read foobar2000 Tech Support Forum Rules before posting and comply with all the points.
Failure to provide all the information pointed out in the above document in your post is considered wasting other people's time and in extreme cases will lead to your topic getting locked without a reply.


See also: Hydrogenaudio Terms of Service.

4 Pages V   1 2 3 > »   
Reply to this topicStart new topic
E-MU 0404 USB - foobar2000 "forgets" ASIO config on shutdown
andy_c
post Mar 25 2008, 18:08
Post #1





Group: Members
Posts: 64
Joined: 3-June 07
Member No.: 44031



Hi,

I've been having a problem with Foobar 0.9.5 "forgetting" the ASIO config for my E-MU 0404 USB sound device when I shut down the system. I'm using the E-MU as a USB-to-S/PDIF converter to drive an external DAC. For whatever reason, S/PDIF only works with the E-MU 0404 USB when ASIO is used.

When I go into the ASIO virtual device editor, it looks like this initially:

ANALOG OUT 32-bit Left
ANALOG OUT 32-bit Right
S/PDIF OUT 32-bit <none>
S/PDIF OUT 32-bit <none>

I then change it to:

ANALOG OUT 32-bit <none>
ANALOG OUT 32-bit <none>
S/PDIF OUT 32-bit Left
S/PDIF OUT 32-bit Right

Then, in "output device" I choose "ASIO: ASIO E-MU 0404 | USB", and click the "Save All" button. This works fine, just as expected. I can play all supported files just fine.

Next, I reboot and try to use Foobar with this saved ASIO configuration. When I try to play a file, I get the message "Unrecoverable playback error: Requested ASIO driver not found". To fix this, I must go into the ASIO virtual device config and choose "Remove" for the displayed E-MU 0404 USB. Before removal, the text of the device name is still shown, but the driver is somehow not recognized. Next, I add the configuration back in using the "Add New" button, then re-do the configuration process as I've described above, assigning Left and Right to the two S/PDIF logical outputs. Once I do this, my files play just fine again. However, this means I must go through this procedure each time I run Foobar from a freshly-rebooted system.

Any help with this would be greatly appreciated!

This post has been edited by andy_c: Mar 25 2008, 23:40
Go to the top of the page
+Quote Post
andy_c
post Mar 25 2008, 18:34
Post #2





Group: Members
Posts: 64
Joined: 3-June 07
Member No.: 44031



I just wanted to add that I just now saw that 0.9.5.1 was released. I installed 0.9.5.1 and the problem still occurs.
Go to the top of the page
+Quote Post
Canar
post Mar 25 2008, 20:02
Post #3





Group: Super Moderator
Posts: 3354
Joined: 26-July 02
From: princegeorge.ca
Member No.: 2796



Error 0404: device not found? smile.gif


--------------------
You cannot ABX the rustling of jimmies.
No mouse? No problem.
Go to the top of the page
+Quote Post
volvme+
post Mar 26 2008, 18:51
Post #4





Group: Members
Posts: 18
Joined: 29-August 07
Member No.: 46604



My 0404 usb also lose its ASIO settings after reboot.
And... as far as I know, all 0404usb users have this problem, don't know whether the problem is in foobar2000 or e-mu, but in other applications (wavelab, cubase) the config is remembered.

This post has been edited by volvme+: Mar 26 2008, 18:52
Go to the top of the page
+Quote Post
andy_c
post Mar 27 2008, 01:32
Post #5





Group: Members
Posts: 64
Joined: 3-June 07
Member No.: 44031



QUOTE (volvme+ @ Mar 26 2008, 11:51) *
My 0404 usb also lose its ASIO settings after reboot.
And... as far as I know, all 0404usb users have this problem, don't know whether the problem is in foobar2000 or e-mu, but in other applications (wavelab, cubase) the config is remembered.


Similar situation here. WinAmp and JRiver both remember the ASIO config after re-boot.
Go to the top of the page
+Quote Post
bubbleguuum
post Apr 21 2008, 14:53
Post #6





Group: Developer
Posts: 1110
Joined: 13-November 05
Member No.: 25748



Same problem here, this is very annoying and probably a foobar ASIO bug.
There's the lost settings problem and the huge lag (a few seconds) when hitting stop, play etc.
Go to the top of the page
+Quote Post
nightfishing
post Apr 22 2008, 03:43
Post #7





Group: Members
Posts: 292
Joined: 4-February 06
Member No.: 27549



known issue with all 0.9x versions + Emu 0404
Go to the top of the page
+Quote Post
Peter
post Apr 22 2008, 10:47
Post #8


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



The driver re-registers itself with a different class ID on each reboot. Apparently other apps remember ASIO drivers by name not by ID but it's a driver bug regardless IMO.
Go to the top of the page
+Quote Post
bubbleguuum
post Apr 22 2008, 12:55
Post #9





Group: Developer
Posts: 1110
Joined: 13-November 05
Member No.: 25748



QUOTE (Peter @ Apr 22 2008, 11:47) *
The driver re-registers itself with a different class ID on each reboot. Apparently other apps remember ASIO drivers by name not by ID but it's a driver bug regardless IMO.


Is there any quick workaround you could implement or is it too much trouble ? I ask because this card is very popular with foobar users...
Go to the top of the page
+Quote Post
volvme+
post Apr 22 2008, 13:16
Post #10





Group: Members
Posts: 18
Joined: 29-August 07
Member No.: 46604



Somebody should mail e-mu and report back what they have said.
I'm too lazy for formal mails... biggrin.gif


edit: Anyway, I've sent an e-mail to the tech support. Waiting for an answer... smile.gif

This post has been edited by volvme+: Apr 25 2008, 18:15
Go to the top of the page
+Quote Post
andy_c
post Apr 28 2008, 16:00
Post #11





Group: Members
Posts: 64
Joined: 3-June 07
Member No.: 44031



QUOTE (Peter @ Apr 22 2008, 03:47) *
The driver re-registers itself with a different class ID on each reboot. Apparently other apps remember ASIO drivers by name not by ID but it's a driver bug regardless IMO.


Well, I got curious about this, so I downloaded the ASIO SDK from Steinberg to have a look at it. One thing I noticed is that although the individual functions that make up the API are reasonably well documented, there doesn't seem to be any sort of specification that lays out what is legal and what is not when the API alone is not enough to determine this.

Their driver example in asiosmpl.cpp uses a CLSID that's fixed at compile time and never changes, but is this a requirement?

If you look at their application example hostsample.cpp, the first function called by main() is loadAsioDriver(), whose argument is the driver name, not its CLSID. This then calls AsioDrivers::loadDriver() in asiodrivers.cpp, which in turn calls into its base class AsioDriverList::asioOpenDriver() in asiolist.cpp. It's not until that point that the CLSID is retrieved and passed to CoCreateInstance() to create the COM object.

So on the one hand, Steinberg do not specify what is "legal" to do vis-a-vis whether or not the CLSID is allowed to change. On the other hand, for the C++ helper class provided by Steinberg for exactly the purpose of loading the driver, the non-constant nature of the E-MU 0404 CLSID is a non-problem. If the code provided by Steinberg for this purpose were used, it would not be a problem in Foobar2000.

It would really be nice if a future version of Foobar2000 would use the same technique for loading the driver that's specified in the Steinberg example code.
Go to the top of the page
+Quote Post
Peter
post Apr 28 2008, 16:30
Post #12


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



The whole point of CLSIDs is being able to identify registered COM servers without relying on their names and such.

QUOTE
It would really be nice if a future version of Foobar2000 would use the same technique for loading the driver that's specified in the Steinberg example code.
It would be even nicer if future versions of E-MU drivers stopped pretending that we have an entirely new driver registered each time the system starts.
Go to the top of the page
+Quote Post
andy_c
post Apr 28 2008, 18:47
Post #13





Group: Members
Posts: 64
Joined: 3-June 07
Member No.: 44031



QUOTE (Peter @ Apr 28 2008, 09:30) *
The whole point of CLSIDs is being able to identify registered COM servers without relying on their names and such.


It seems that there is a potential problem with multiple instances though, and that ASIO doesn't implement all the COM interfaces necessary to make that happen without "extracurricular" stuff going on. Since CoCreateInstance() isn't meant for multiple instances, this is leaving a lot of possibility for ambiguity. Looks like E-MU is working around the multiple instance issue with the dynamically-created CLSIDs.

It doesn't sound like this is going to be resolved anytime soon. I'll send an email to E-MU to see what they have to say about it.
Go to the top of the page
+Quote Post
Peter
post Apr 28 2008, 20:24
Post #14


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



The ASIO specification says that if you have multiple device instances handled by the same driver, they should be presented as different channel groups - which is the main reason why foobar2000's ASIO component requires you to set up "virtual ASIO devices" before using it. If other software can't deal with that, somebody needs to read the specification more carefully.
Go to the top of the page
+Quote Post
volvme+
post Apr 28 2008, 21:16
Post #15





Group: Members
Posts: 18
Joined: 29-August 07
Member No.: 46604



QUOTE
Kristian,

Our support for audio players is limited, but I'll be more than happy to pass this information along for you! This may be considered low-priority, however.

Please remember the more information you provide, including previous correspondence in your mail, helps in troubleshooting and solving the problem you are experiencing.

Thank you,
-Tanner
E-MU Systems
Go to the top of the page
+Quote Post
yayacek
post Jun 29 2008, 14:25
Post #16





Group: Members
Posts: 7
Joined: 29-June 08
Member No.: 55047



The problem still exist. Is there any chance to solve that annoying problem?

I'd like to say that very simply player XMPlay can keep ASIO setting so why Foobar cannot
Go to the top of the page
+Quote Post
mchaka
post Aug 27 2008, 21:54
Post #17





Group: Members
Posts: 1
Joined: 27-August 08
Member No.: 57589



I was thinking that maybe somebody could make a "driver" with fixed CLSID that would load (or locate) the E-MU driver by its name? I don't know how to do it but that was my two cents. Perhaps someone could explain why it's impossible or how it could be done.

Then you could choose this new "driver" instead of EMU-driver and it would work although EMU's driver's CLSID changed.

QUOTE (yayacek @ Jun 29 2008, 15:25) *
The problem still exist. Is there any chance to solve that annoying problem?

I'd like to say that very simply player XMPlay can keep ASIO setting so why Foobar cannot

Because it's not Foobar which is broken, it's the driver and other apps.
Go to the top of the page
+Quote Post
fanerman91
post Oct 19 2008, 23:22
Post #18





Group: Members
Posts: 14
Joined: 26-September 03
Member No.: 9033



So, is there a quick fix for this? Not-so-quick fix? Any kind of fix?

This post has been edited by fanerman91: Oct 20 2008, 03:32
Go to the top of the page
+Quote Post
Fred de Nantes
post Nov 21 2008, 23:33
Post #19





Group: Members
Posts: 1
Joined: 21-November 08
Member No.: 62899



QUOTE (fanerman91 @ Oct 19 2008, 23:22) *
So, is there a quick fix for this? Not-so-quick fix? Any kind of fix?


I have a fix with ASIO4ALL setup like that, it works !



More informations, in french, here : http://ambiance-hifi.fr/viewtopic.php?p=77044

This post has been edited by Fred de Nantes: Nov 21 2008, 23:42
Go to the top of the page
+Quote Post
George K
post Nov 22 2008, 02:52
Post #20





Group: Members
Posts: 2
Joined: 29-October 08
Member No.: 61271



In my experience ASIO4All is not an adequate substitute for the native E-MU ASIO drivers.

With the native drivers, E-MU 0404 USB can switch automatically the sampling rate according to the source material. With ASIO4All, if I have E-MU set to the wrong sampling rate, Foobar crashes and looses the driver settings.

With ASIO4All it is impossible to produce any output via SP/DIF. Therefore it is impossible to verify that ASIO4All can produce bit-perfect output with E-MU 0404 USB.

This post has been edited by George K: Jan 19 2009, 13:00
Go to the top of the page
+Quote Post
Kohlrabi
post Dec 12 2008, 20:36
Post #21





Group: Super Moderator
Posts: 1023
Joined: 12-March 05
From: Kiel, Germany
Member No.: 20561



I have the same problem with a Creative Audigy 4 in Vista 64, using foobar 0.9.6 and foo_out_asio.dll version 1.2.6. Also installed the newest Creative drivers.

Additionally starting playback or switching tracks takes up to 3 seconds on some occassions.

All of this is probably bas driver support on Creative's end, but if someone knows a fix/workaround I'd be happy to know it. laugh.gif


--------------------
Ceterum censeo Masterdiskem esse delendam.
Go to the top of the page
+Quote Post
leeperry
post May 2 2009, 05:36
Post #22





Group: Banned
Posts: 44
Joined: 23-April 09
Member No.: 69207



sorry to bump an old thread....but is this problem still present in the latest version?
Go to the top of the page
+Quote Post
a3aan
post May 2 2009, 10:39
Post #23





Group: Members
Posts: 80
Joined: 23-December 06
Member No.: 38930



Yes.

QUOTE (leeperry @ May 2 2009, 05:36) *
sorry to bump an old thread....but is this problem still present in the latest version?

Go to the top of the page
+Quote Post
yayacek
post Jan 25 2010, 15:29
Post #24





Group: Members
Posts: 7
Joined: 29-June 08
Member No.: 55047



Please explain!
The old Foobar 0.8.3 keeps ASIO settings perfectly (EMU-0404USB) so why the new version can't do it?
Go to the top of the page
+Quote Post
Yirkha
post Jan 27 2010, 13:18
Post #25





Group: FB2K Moderator
Posts: 2359
Joined: 30-November 07
Member No.: 49158



The driver can be trivially hacked to use the same CLSID every time.
If I had this sound card, I'd do it that way.
And I've seen some other guy successfully doing that in #foobar2000 too.
Just FYI.


--------------------
Full-quoting makes you scroll past the same junk over and over.
Go to the top of the page
+Quote Post

4 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 27th August 2014 - 11:07