[Csnd] Embedding Csound (Windows)

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Embedding Csound (Windows)

sjakops
Hi all, I need some help to embed Csound in a Windows application -
that is in a way so that the computer on which the application is
installed does not need to have Csound already installed.

I have embedded Csound64.dll in my application, which seems to work
fine, but Csound64.dll then seems to reference PortAudio, which it
can't find (when PortAudio is not installed on the computer on which
the application is installed). Csound gives me the message: "unknown
rtaudio module: 'PortAudio', using dummy module".
I have tried adding PortAudio.dll to my application - installed in the
same directory as Csound64.dll - but that doesn't seem to work.

Is there some way to make Csound64.dll search for PortAudio.dll in
it's 'own' directory, or another way to fix this? Perhaps PortAudio
could be compiled into Csound64.dll to have everything 'self
contained'?

Best regard,
Søren

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

Michael Gogins-2
The portaudio.dll message is a warning, not an error. It does not mean Csound will not work. 

Csound should be able to find the PortAudio DLL but for that to work, if I recall correctly, you need to place the DLL in the Windows system directory or in a directory identified in the OPCODE6DIR64 environment variable, this can include more than one directory (separated on Windows by semicolons). Try adding the directory for your application to the OPCODE6DIR64 directory.

If you want to monkey with the build system you can indeed build PortAudio directly into csound64.dll, but you will also need to add a little code that will do the same work that finding the PortAudio DLL file and loading it does. This is not hard to do, there is code for doing similar things in the Csound for Android code in the csound-extended repository. The best way to do this is to build PortAudio as a static library and link it with csound64.dll.

Hope this helps,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]> wrote:
Hi all, I need some help to embed Csound in a Windows application -
that is in a way so that the computer on which the application is
installed does not need to have Csound already installed.

I have embedded Csound64.dll in my application, which seems to work
fine, but Csound64.dll then seems to reference PortAudio, which it
can't find (when PortAudio is not installed on the computer on which
the application is installed). Csound gives me the message: "unknown
rtaudio module: 'PortAudio', using dummy module".
I have tried adding PortAudio.dll to my application - installed in the
same directory as Csound64.dll - but that doesn't seem to work.

Is there some way to make Csound64.dll search for PortAudio.dll in
it's 'own' directory, or another way to fix this? Perhaps PortAudio
could be compiled into Csound64.dll to have everything 'self
contained'?

Best regard,
Søren

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

sjakops
Thanks Mike! yes Csound does still work - there is just no actual
sound. I tried adding PortAudio to Windows\System64 and to set
OPCODE6DIR64 but it didn't help.
I am wondering if there might be other such dependencies from the dll,
and I wonder how I will know what they are (the dependencies may be
present on the machine where I make my test installation, but not on
other machines).
I don't think I will be able to refactor Csound to have the dll
include PortAudio (or other dependencies) - guess for will
(unfortunately) have to ask users of my app to also install Csound
separately.
Best regards,
Søren

On 11/23/20, Michael Gogins <[hidden email]> wrote:

> The portaudio.dll message is a warning, not an error. It does not mean
> Csound will not work.
>
> Csound should be able to find the PortAudio DLL but for that to work, if I
> recall correctly, you need to place the DLL in the Windows system directory
> or in a directory identified in the OPCODE6DIR64 environment variable, this
> can include more than one directory (separated on Windows by semicolons).
> Try adding the directory for your application to the OPCODE6DIR64
> directory.
>
> If you want to monkey with the build system you can indeed build PortAudio
> directly into csound64.dll, but you will also need to add a little code
> that will do the same work that finding the PortAudio DLL file and loading
> it does. This is not hard to do, there is code for doing similar things in
> the Csound for Android code in the csound-extended repository. The best way
> to do this is to build PortAudio as a static library and link it with
> csound64.dll.
>
> Hope this helps,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]> wrote:
>
>> Hi all, I need some help to embed Csound in a Windows application -
>> that is in a way so that the computer on which the application is
>> installed does not need to have Csound already installed.
>>
>> I have embedded Csound64.dll in my application, which seems to work
>> fine, but Csound64.dll then seems to reference PortAudio, which it
>> can't find (when PortAudio is not installed on the computer on which
>> the application is installed). Csound gives me the message: "unknown
>> rtaudio module: 'PortAudio', using dummy module".
>> I have tried adding PortAudio.dll to my application - installed in the
>> same directory as Csound64.dll - but that doesn't seem to work.
>>
>> Is there some way to make Csound64.dll search for PortAudio.dll in
>> it's 'own' directory, or another way to fix this? Perhaps PortAudio
>> could be compiled into Csound64.dll to have everything 'self
>> contained'?
>>
>> Best regard,
>> Søren
>>
>> Csound mailing list
>> [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>>
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

Steven Yi
I think something to check is if indeed your app is using OPCODE6DIR64
to load rtpa.dll, and that the portaudio dll (not sure the exact name
but it should match with whatever rtpa.dll is linked to) is located
besides rtpa.dll.  You can always use dependency walker
(https://www.dependencywalker.com/) to check linkage. Csound itself
(i.e., csound64.dll) does not have a link to portaudio, just rtpa.dll.
(At one point, all of our libraries were statically linked, but
portaudio might have been a dynamic link.)  I think you should be able
to work out the portaudio issue without having to require Csound be
installed separately.

On Mon, Nov 23, 2020 at 4:02 PM Søren Jakobsen <[hidden email]> wrote:

>
> Thanks Mike! yes Csound does still work - there is just no actual
> sound. I tried adding PortAudio to Windows\System64 and to set
> OPCODE6DIR64 but it didn't help.
> I am wondering if there might be other such dependencies from the dll,
> and I wonder how I will know what they are (the dependencies may be
> present on the machine where I make my test installation, but not on
> other machines).
> I don't think I will be able to refactor Csound to have the dll
> include PortAudio (or other dependencies) - guess for will
> (unfortunately) have to ask users of my app to also install Csound
> separately.
> Best regards,
> Søren
>
> On 11/23/20, Michael Gogins <[hidden email]> wrote:
> > The portaudio.dll message is a warning, not an error. It does not mean
> > Csound will not work.
> >
> > Csound should be able to find the PortAudio DLL but for that to work, if I
> > recall correctly, you need to place the DLL in the Windows system directory
> > or in a directory identified in the OPCODE6DIR64 environment variable, this
> > can include more than one directory (separated on Windows by semicolons).
> > Try adding the directory for your application to the OPCODE6DIR64
> > directory.
> >
> > If you want to monkey with the build system you can indeed build PortAudio
> > directly into csound64.dll, but you will also need to add a little code
> > that will do the same work that finding the PortAudio DLL file and loading
> > it does. This is not hard to do, there is code for doing similar things in
> > the Csound for Android code in the csound-extended repository. The best way
> > to do this is to build PortAudio as a static library and link it with
> > csound64.dll.
> >
> > Hope this helps,
> > Mike
> >
> > -----------------------------------------------------
> > Michael Gogins
> > Irreducible Productions
> > http://michaelgogins.tumblr.com
> > Michael dot Gogins at gmail dot com
> >
> >
> > On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]> wrote:
> >
> >> Hi all, I need some help to embed Csound in a Windows application -
> >> that is in a way so that the computer on which the application is
> >> installed does not need to have Csound already installed.
> >>
> >> I have embedded Csound64.dll in my application, which seems to work
> >> fine, but Csound64.dll then seems to reference PortAudio, which it
> >> can't find (when PortAudio is not installed on the computer on which
> >> the application is installed). Csound gives me the message: "unknown
> >> rtaudio module: 'PortAudio', using dummy module".
> >> I have tried adding PortAudio.dll to my application - installed in the
> >> same directory as Csound64.dll - but that doesn't seem to work.
> >>
> >> Is there some way to make Csound64.dll search for PortAudio.dll in
> >> it's 'own' directory, or another way to fix this? Perhaps PortAudio
> >> could be compiled into Csound64.dll to have everything 'self
> >> contained'?
> >>
> >> Best regard,
> >> Søren
> >>
> >> Csound mailing list
> >> [hidden email]
> >> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> >> Send bugs reports to
> >>         https://github.com/csound/csound/issues
> >> Discussions of bugs and features can be posted here
> >>
> >
> > Csound mailing list
> > [hidden email]
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> > Send bugs reports to
> >         https://github.com/csound/csound/issues
> > Discussions of bugs and features can be posted here
> >
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

Michael Gogins-2
In reply to this post by sjakops
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

This will tell you all DLLs that CsoundQt or Csound or any other Windows process has loaded.

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Mon, Nov 23, 2020 at 4:02 PM Søren Jakobsen <[hidden email]> wrote:
Thanks Mike! yes Csound does still work - there is just no actual
sound. I tried adding PortAudio to Windows\System64 and to set
OPCODE6DIR64 but it didn't help.
I am wondering if there might be other such dependencies from the dll,
and I wonder how I will know what they are (the dependencies may be
present on the machine where I make my test installation, but not on
other machines).
I don't think I will be able to refactor Csound to have the dll
include PortAudio (or other dependencies) - guess for will
(unfortunately) have to ask users of my app to also install Csound
separately.
Best regards,
Søren

On 11/23/20, Michael Gogins <[hidden email]> wrote:
> The portaudio.dll message is a warning, not an error. It does not mean
> Csound will not work.
>
> Csound should be able to find the PortAudio DLL but for that to work, if I
> recall correctly, you need to place the DLL in the Windows system directory
> or in a directory identified in the OPCODE6DIR64 environment variable, this
> can include more than one directory (separated on Windows by semicolons).
> Try adding the directory for your application to the OPCODE6DIR64
> directory.
>
> If you want to monkey with the build system you can indeed build PortAudio
> directly into csound64.dll, but you will also need to add a little code
> that will do the same work that finding the PortAudio DLL file and loading
> it does. This is not hard to do, there is code for doing similar things in
> the Csound for Android code in the csound-extended repository. The best way
> to do this is to build PortAudio as a static library and link it with
> csound64.dll.
>
> Hope this helps,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]> wrote:
>
>> Hi all, I need some help to embed Csound in a Windows application -
>> that is in a way so that the computer on which the application is
>> installed does not need to have Csound already installed.
>>
>> I have embedded Csound64.dll in my application, which seems to work
>> fine, but Csound64.dll then seems to reference PortAudio, which it
>> can't find (when PortAudio is not installed on the computer on which
>> the application is installed). Csound gives me the message: "unknown
>> rtaudio module: 'PortAudio', using dummy module".
>> I have tried adding PortAudio.dll to my application - installed in the
>> same directory as Csound64.dll - but that doesn't seem to work.
>>
>> Is there some way to make Csound64.dll search for PortAudio.dll in
>> it's 'own' directory, or another way to fix this? Perhaps PortAudio
>> could be compiled into Csound64.dll to have everything 'self
>> contained'?
>>
>> Best regard,
>> Søren
>>
>> Csound mailing list
>> [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>>
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

rorywalsh

On Tue, 24 Nov 2020 at 13:43, Michael Gogins <[hidden email]> wrote:
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

This will tell you all DLLs that CsoundQt or Csound or any other Windows process has loaded.

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Mon, Nov 23, 2020 at 4:02 PM Søren Jakobsen <[hidden email]> wrote:
Thanks Mike! yes Csound does still work - there is just no actual
sound. I tried adding PortAudio to Windows\System64 and to set
OPCODE6DIR64 but it didn't help.
I am wondering if there might be other such dependencies from the dll,
and I wonder how I will know what they are (the dependencies may be
present on the machine where I make my test installation, but not on
other machines).
I don't think I will be able to refactor Csound to have the dll
include PortAudio (or other dependencies) - guess for will
(unfortunately) have to ask users of my app to also install Csound
separately.
Best regards,
Søren

On 11/23/20, Michael Gogins <[hidden email]> wrote:
> The portaudio.dll message is a warning, not an error. It does not mean
> Csound will not work.
>
> Csound should be able to find the PortAudio DLL but for that to work, if I
> recall correctly, you need to place the DLL in the Windows system directory
> or in a directory identified in the OPCODE6DIR64 environment variable, this
> can include more than one directory (separated on Windows by semicolons).
> Try adding the directory for your application to the OPCODE6DIR64
> directory.
>
> If you want to monkey with the build system you can indeed build PortAudio
> directly into csound64.dll, but you will also need to add a little code
> that will do the same work that finding the PortAudio DLL file and loading
> it does. This is not hard to do, there is code for doing similar things in
> the Csound for Android code in the csound-extended repository. The best way
> to do this is to build PortAudio as a static library and link it with
> csound64.dll.
>
> Hope this helps,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]> wrote:
>
>> Hi all, I need some help to embed Csound in a Windows application -
>> that is in a way so that the computer on which the application is
>> installed does not need to have Csound already installed.
>>
>> I have embedded Csound64.dll in my application, which seems to work
>> fine, but Csound64.dll then seems to reference PortAudio, which it
>> can't find (when PortAudio is not installed on the computer on which
>> the application is installed). Csound gives me the message: "unknown
>> rtaudio module: 'PortAudio', using dummy module".
>> I have tried adding PortAudio.dll to my application - installed in the
>> same directory as Csound64.dll - but that doesn't seem to work.
>>
>> Is there some way to make Csound64.dll search for PortAudio.dll in
>> it's 'own' directory, or another way to fix this? Perhaps PortAudio
>> could be compiled into Csound64.dll to have everything 'self
>> contained'?
>>
>> Best regard,
>> Søren
>>
>> Csound mailing list
>> [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>         https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>>
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

sjakops
Thanks for the tips - adding rtpa.dll seems to work:)
I am not sure how those dependency tools would have helped me figure
out about rtpa.dll (they don't work when dll's are loaded in some
specific ways?) - but I probably need to learn better how to use them.

On 11/24/20, Rory Walsh <[hidden email]> wrote:

> There is also:
> https://github.com/lucasg/Dependencies
>
> On Tue, 24 Nov 2020 at 13:43, Michael Gogins <[hidden email]>
> wrote:
>
>> https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
>>
>> This will tell you all DLLs that CsoundQt or Csound or any other Windows
>> process has loaded.
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Mon, Nov 23, 2020 at 4:02 PM Søren Jakobsen <[hidden email]> wrote:
>>
>>> Thanks Mike! yes Csound does still work - there is just no actual
>>> sound. I tried adding PortAudio to Windows\System64 and to set
>>> OPCODE6DIR64 but it didn't help.
>>> I am wondering if there might be other such dependencies from the dll,
>>> and I wonder how I will know what they are (the dependencies may be
>>> present on the machine where I make my test installation, but not on
>>> other machines).
>>> I don't think I will be able to refactor Csound to have the dll
>>> include PortAudio (or other dependencies) - guess for will
>>> (unfortunately) have to ask users of my app to also install Csound
>>> separately.
>>> Best regards,
>>> Søren
>>>
>>> On 11/23/20, Michael Gogins <[hidden email]> wrote:
>>> > The portaudio.dll message is a warning, not an error. It does not mean
>>> > Csound will not work.
>>> >
>>> > Csound should be able to find the PortAudio DLL but for that to work,
>>> if I
>>> > recall correctly, you need to place the DLL in the Windows system
>>> directory
>>> > or in a directory identified in the OPCODE6DIR64 environment variable,
>>> this
>>> > can include more than one directory (separated on Windows by
>>> semicolons).
>>> > Try adding the directory for your application to the OPCODE6DIR64
>>> > directory.
>>> >
>>> > If you want to monkey with the build system you can indeed build
>>> PortAudio
>>> > directly into csound64.dll, but you will also need to add a little
>>> > code
>>> > that will do the same work that finding the PortAudio DLL file and
>>> loading
>>> > it does. This is not hard to do, there is code for doing similar
>>> > things
>>> in
>>> > the Csound for Android code in the csound-extended repository. The
>>> > best
>>> way
>>> > to do this is to build PortAudio as a static library and link it with
>>> > csound64.dll.
>>> >
>>> > Hope this helps,
>>> > Mike
>>> >
>>> > -----------------------------------------------------
>>> > Michael Gogins
>>> > Irreducible Productions
>>> > http://michaelgogins.tumblr.com
>>> > Michael dot Gogins at gmail dot com
>>> >
>>> >
>>> > On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]>
>>> wrote:
>>> >
>>> >> Hi all, I need some help to embed Csound in a Windows application -
>>> >> that is in a way so that the computer on which the application is
>>> >> installed does not need to have Csound already installed.
>>> >>
>>> >> I have embedded Csound64.dll in my application, which seems to work
>>> >> fine, but Csound64.dll then seems to reference PortAudio, which it
>>> >> can't find (when PortAudio is not installed on the computer on which
>>> >> the application is installed). Csound gives me the message: "unknown
>>> >> rtaudio module: 'PortAudio', using dummy module".
>>> >> I have tried adding PortAudio.dll to my application - installed in
>>> >> the
>>> >> same directory as Csound64.dll - but that doesn't seem to work.
>>> >>
>>> >> Is there some way to make Csound64.dll search for PortAudio.dll in
>>> >> it's 'own' directory, or another way to fix this? Perhaps PortAudio
>>> >> could be compiled into Csound64.dll to have everything 'self
>>> >> contained'?
>>> >>
>>> >> Best regard,
>>> >> Søren
>>> >>
>>> >> Csound mailing list
>>> >> [hidden email]
>>> >> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> >> Send bugs reports to
>>> >>         https://github.com/csound/csound/issues
>>> >> Discussions of bugs and features can be posted here
>>> >>
>>> >
>>> > Csound mailing list
>>> > [hidden email]
>>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> > Send bugs reports to
>>> >         https://github.com/csound/csound/issues
>>> > Discussions of bugs and features can be posted here
>>> >
>>>
>>> Csound mailing list
>>> [hidden email]
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>> Csound mailing list [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> https://github.com/csound/csound/issues Discussions of bugs and features
>> can be posted here
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Embedding Csound (Windows)

Michael Gogins-2
About Dependency Checker, it checks both the code (before running) and the calls to load libraries (while running). This latter option you will need with programs like Csound that load libraries programmatically at run time. This is what you get when you "profile" an app.

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Sun, Dec 6, 2020 at 1:09 PM Søren Jakobsen <[hidden email]> wrote:
Thanks for the tips - adding rtpa.dll seems to work:)
I am not sure how those dependency tools would have helped me figure
out about rtpa.dll (they don't work when dll's are loaded in some
specific ways?) - but I probably need to learn better how to use them.

On 11/24/20, Rory Walsh <[hidden email]> wrote:
> There is also:
> https://github.com/lucasg/Dependencies
>
> On Tue, 24 Nov 2020 at 13:43, Michael Gogins <[hidden email]>
> wrote:
>
>> https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
>>
>> This will tell you all DLLs that CsoundQt or Csound or any other Windows
>> process has loaded.
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Mon, Nov 23, 2020 at 4:02 PM Søren Jakobsen <[hidden email]> wrote:
>>
>>> Thanks Mike! yes Csound does still work - there is just no actual
>>> sound. I tried adding PortAudio to Windows\System64 and to set
>>> OPCODE6DIR64 but it didn't help.
>>> I am wondering if there might be other such dependencies from the dll,
>>> and I wonder how I will know what they are (the dependencies may be
>>> present on the machine where I make my test installation, but not on
>>> other machines).
>>> I don't think I will be able to refactor Csound to have the dll
>>> include PortAudio (or other dependencies) - guess for will
>>> (unfortunately) have to ask users of my app to also install Csound
>>> separately.
>>> Best regards,
>>> Søren
>>>
>>> On 11/23/20, Michael Gogins <[hidden email]> wrote:
>>> > The portaudio.dll message is a warning, not an error. It does not mean
>>> > Csound will not work.
>>> >
>>> > Csound should be able to find the PortAudio DLL but for that to work,
>>> if I
>>> > recall correctly, you need to place the DLL in the Windows system
>>> directory
>>> > or in a directory identified in the OPCODE6DIR64 environment variable,
>>> this
>>> > can include more than one directory (separated on Windows by
>>> semicolons).
>>> > Try adding the directory for your application to the OPCODE6DIR64
>>> > directory.
>>> >
>>> > If you want to monkey with the build system you can indeed build
>>> PortAudio
>>> > directly into csound64.dll, but you will also need to add a little
>>> > code
>>> > that will do the same work that finding the PortAudio DLL file and
>>> loading
>>> > it does. This is not hard to do, there is code for doing similar
>>> > things
>>> in
>>> > the Csound for Android code in the csound-extended repository. The
>>> > best
>>> way
>>> > to do this is to build PortAudio as a static library and link it with
>>> > csound64.dll.
>>> >
>>> > Hope this helps,
>>> > Mike
>>> >
>>> > -----------------------------------------------------
>>> > Michael Gogins
>>> > Irreducible Productions
>>> > http://michaelgogins.tumblr.com
>>> > Michael dot Gogins at gmail dot com
>>> >
>>> >
>>> > On Sun, Nov 22, 2020 at 4:10 PM Søren Jakobsen <[hidden email]>
>>> wrote:
>>> >
>>> >> Hi all, I need some help to embed Csound in a Windows application -
>>> >> that is in a way so that the computer on which the application is
>>> >> installed does not need to have Csound already installed.
>>> >>
>>> >> I have embedded Csound64.dll in my application, which seems to work
>>> >> fine, but Csound64.dll then seems to reference PortAudio, which it
>>> >> can't find (when PortAudio is not installed on the computer on which
>>> >> the application is installed). Csound gives me the message: "unknown
>>> >> rtaudio module: 'PortAudio', using dummy module".
>>> >> I have tried adding PortAudio.dll to my application - installed in
>>> >> the
>>> >> same directory as Csound64.dll - but that doesn't seem to work.
>>> >>
>>> >> Is there some way to make Csound64.dll search for PortAudio.dll in
>>> >> it's 'own' directory, or another way to fix this? Perhaps PortAudio
>>> >> could be compiled into Csound64.dll to have everything 'self
>>> >> contained'?
>>> >>
>>> >> Best regard,
>>> >> Søren
>>> >>
>>> >> Csound mailing list
>>> >> [hidden email]
>>> >> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> >> Send bugs reports to
>>> >>         https://github.com/csound/csound/issues
>>> >> Discussions of bugs and features can be posted here
>>> >>
>>> >
>>> > Csound mailing list
>>> > [hidden email]
>>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> > Send bugs reports to
>>> >         https://github.com/csound/csound/issues
>>> > Discussions of bugs and features can be posted here
>>> >
>>>
>>> Csound mailing list
>>> [hidden email]
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>         https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>> Csound mailing list [hidden email]
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> https://github.com/csound/csound/issues Discussions of bugs and features
>> can be posted here
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here