Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot register jackrouter under Win10 64 Bits #8

Open
mr-berndt opened this issue Feb 1, 2021 · 23 comments
Open

Cannot register jackrouter under Win10 64 Bits #8

mr-berndt opened this issue Feb 1, 2021 · 23 comments

Comments

@mr-berndt
Copy link

I get (translated from German):

Error loading the module.
Make sure the binary is at the given place.
Module not found.

I ran as an administrator: C:\Program Files\JACK2\jack-router\win64> regsvr32.exe .\JackRouter.dll

The dll itself was downloaded from this repo.

I tried on three different machines. Also the regular installation fails with this error message when it somes to registering the 64 bits version.

@mr-berndt
Copy link
Author

Updated all machines with the latest updates, still nothing. Is there anything I can do to make this work?

@nettings
Copy link

nettings commented Feb 2, 2021

I can confirm this behaviour. Used the current windows installer, selected JackRouter additionally (not enabled by default), same error as OP, also run with Administrator privileges.

@falkTX
Copy link
Member

falkTX commented Feb 2, 2021

a few questions:

  1. did you have jack installed before? if yes, which version
  2. if you install jack without jackrouter first, and then reinstall with it enabled, does anything change?

@nettings
Copy link

nettings commented Feb 2, 2021

  1. No, AFAIR this windows machine has never had JACK on it.
  2. No. Same error. Even rebooted between the initial install without and the second one with JackRouter.

Manually ran the command the OP mentioned above, as admin. Error is

The module ".\JackRouter.DLL" failed to load.
Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent DLL files.
The speciefied module could not be found.

Also tried with the full absolute path of the module, no change.

@nettings
Copy link

nettings commented Feb 2, 2021

This is Windows 10 Home v 2004.

@falkTX
Copy link
Member

falkTX commented Feb 2, 2021

but you checked that the file exists at that location right?

@nettings
Copy link

nettings commented Feb 2, 2021

yes, the file path and name was obtained using command line completion in the windows shell.

@nettings
Copy link

nettings commented Feb 2, 2021

Partial success! It is indeed a missing dependency, see https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0 , specifically the "Redistributables" listed below in case you're not interested in the entire development environment. After installing the 64bit runtime (and rebooting), the JackRouter was ticked by default (hadn't been the case before) and installed without an error.

However, I fail to see a JackRouter device anywhere (tried the windows system settings/sound and also a VLC player). My understanding is it would show as a virtual ASIO device without me having to run anything, right?

@falkTX
Copy link
Member

falkTX commented Feb 2, 2021

However, I fail to see a JackRouter device anywhere (tried the windows system settings/sound and also a VLC player). My understanding is it would show as a virtual ASIO device without me having to run anything, right?

You need to have JACK running, that is the only requirement.

@nettings
Copy link

nettings commented Feb 2, 2021

yes, JACK is running, with the portaudio backend.

@nettings
Copy link

nettings commented Feb 2, 2021

Sorry, a misunderstanding on my part. The JackRouter does not appear as a permanent virtual device. Rather, an audio application must explicitly use the JackRouter ASIO device for anything visible to appear in the Jack connection list or in fact anywhere else. No virtual JackRouter device will be visible in System Settings (which I had expected). Now running Reaper into JackRouter and Ardour as a native Jack client, works fine. Thank you.

@mr-berndt
Copy link
Author

Good find! Thx a lot for that, installation now works here as well. No sound yet though, but I have like 3 minutes right now and I am sure, I will figure it out, when I find more time.

Is there a way to check for the dependency upon installation? Would really make sense.

@nettings
Copy link

nettings commented Feb 2, 2021

@falkTX, I get the feeling that the installer does check for the dependency - like I mentioned before, JackRouter is automatically ticked when the MSVC stuff is available, and unticked otherwise. I guess the best approach would be to grey out the option altogether in the latter case.

@falkTX
Copy link
Member

falkTX commented Feb 2, 2021

JackRouter is automatically ticked when the MSVC stuff is available, and unticked otherwise

That is not the case.
It just remembers the last custom option you picked when installing. (so what things were active when selecting "custom")

The installer file is pretty simple
https://github.com/jackaudio/jack2/blob/develop/windows/inno/win32.iss

@nettings
Copy link

nettings commented Feb 3, 2021

I see. Sorry for spreading confusion.
As to including the MSVC runtime, here is some information about redistribution: https://docs.microsoft.com/en-us/cpp/windows/redistributing-visual-cpp-files?view=msvc-160

@mr-berndt
Copy link
Author

I can happily report it works like a charm!

@mr-berndt
Copy link
Author

Is there any chance in this world for jack to get support for WASAPI? To my understanding it would enable jack to be used by every single Windows application without using tools like the dreaded VB audio bridge. Just used jack with REW and Acourate for a day now and it's just great!

@kmatheussen
Copy link

kmatheussen commented Feb 5, 2021 via email

@kmatheussen
Copy link

kmatheussen commented Feb 5, 2021 via email

@mr-berndt
Copy link
Author

mr-berndt commented Feb 5, 2021

Yes, I meant a real driver that shows up in Windows just like alsa does with jack and can be used by any application. I don't know how much work this would be, so I just ask if this is possible or maybe even planned. It would kind of really open up jack to Windows.

@nettings
Copy link

nettings commented Feb 5, 2021

@kmatheussen: the problem is that JackRouter is ASIO only, i.e. it is only supported by dedicated audio software. With videoconferencing being the new normal, what people need more and more is an audio-rerouting tool that also works with non-professional software. Hence it would be nice if JackRouter didn't just provide an ASIO endpoint, but also one of the audio APIs recognized by Windows 10 natively, so that you could make it your system default audio device, connect clients like ZOOM etc, and also route system sounds to jack. As another example, my usecase atm is to get audio from Powerpoint into a netjack to pipe it into a second machine.

@000masa000
Copy link

000masa000 commented Mar 4, 2021

@nettings @mr-berndt @kmatheusssen I agree that having a native WASAPI implementation so that Jack is not relying on portaudio and becomes accessible for routing ALL apps, ASIO or WASAPI, is super useful. I am a composer and often run Supercollider, Cycling74 Max, Fluidsynth, Dorico and Sibelius on the same machine and when working with students have a potential nightmare with online teaching tools. Some apps ONLY provide ASIO (Dorico), others rely primarily on portaudio (Max and Supercollider) as well as ASIO, others have newly added WASAPI (Fluidsynth). Musescore does JACK directly. I am unfortunately new to programming but wonder how to make a contribution here. Any of you have any tips where to start on this? I could imagine getting my feet wet :)

@falkTX
Copy link
Member

falkTX commented Mar 4, 2021

Targetting WASAPI directly is likely not the best choice.
I think the old idea of bringing JUCE just for its audio devices support is a very good idea. There is a lot involved with these audio APIs, and they keep changing too. JUCE has commercial interest on being up-to-date to support them, while at the same time being GPLv3. We can and should take advantage of that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants