denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Windows git snapshot


From: Jeremiah Benham
Subject: Re: [Denemo-devel] Windows git snapshot
Date: Fri, 20 Jul 2012 09:03:48 -0500
User-agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

On 07/19/2012 12:35 PM, Richard Shann wrote:
On Thu, 2012-07-19 at 15:34 +0100, Richard Shann wrote:
Looking at the portmidi site it seems that they only build for windows
using Microsoft's compiler.
It might be simpler to revert to our old code for MIDI in on windows -
I
don't recall how it worked, or why, 
I just looked through the 0.9.2 code and I see that we used the
fluidsynth library to get MIDI-in:

int fluid_start_midi_in(void)

and so on in fluid.c

However, it wouldn't be just a matter of re-connecting something
disconnected, it would be a case of changing the callback (that handles
a midi in event) to do putting the event in the midi in queue. Did you
write that code originally?

I think you wrote it. I may be able to create a makefile out of the gub/specs/portmidi.py if you think it is worth the effort. 
Here is the response I got from the portmidi mailing list:

On 7/17/12 9:56 AM, Jeremiah Benham wrote:
On 07/13/2012 06:33 PM, Roger Dannenberg wrote:
I'm better at answering questions about PortMidi than about compilers I've never used. One thing that might simplify things is to just compile PortMidi along with your application. It's small, and there's no particular reason it needs to be a dynamic or even static library.

I am trying to statically compile it into my application. The problem is that it fails on building the alsa related stuff.
I'm guessing you are linking with pmlinuxalsa.c. Since Windows doesn't have ALSA, anything that mentions ALSA should be removed.


Otherwise, I think the .bat file will help, but it would be good to load up Visual C++ to you can see all the compiler and linker settings in the workspace files.
Sorry, I responded earlier without reading the files. make.bat is in the pm_java directory and is used to build PmDefaults, as described in the README.txt file in the same directory. You should probably have PmDefaults, but you can download a pre-built version and installer.

I don't have Windows or Visual C++. I am using gcc and mingw. Then I test the application in wine. Is there an ascii file I can see the compiler linker settings?
pm_common/portmidi-static.vcproj is in XML. I found the following in it. This looks like the set of files you should link into your application.

        <Files>
                <Filter
                        Name="Source Files"
                        Filter="">
                        <File
                                RelativePath="..\pm_win\pmwin.c">
                        </File>
                        <File
RelativePath="..\pm_win\pmwinmm.c">
                        </File>
                        <File
RelativePath="..\porttime\ptwinmm.c">
                        </File>
                        <File
RelativePath="..\pm_common\pmutil.c">
                        </File>
                        <File
RelativePath="..\pm_common\portmidi.c">
                        </File>
                </Filter>
        </Files>

I read through the make.bat and it seems that it is going to create some .class files. I am not sure how to statically link my application against this. I see in the pm_win directory there is a pmwin.c, pmwinmm.c, and a pmwinmm.h. Can I build the library using only these files somehow?...Or should I comment out the alsa code? I am guessing that will not work in windows though and there is probably some specific windows related code in the pmwin.c and pmwinmm.c.
Right, the windows-specific code is in pm_win. pm_common has the shared code, and you can see in pminternal.h how system-specific routines are called through function pointers.

Thanks,
Jeremiah


-Roger

On 7/13/12 5:07 PM, Jeremiah Benham wrote:
I am trying to use gub to cross compile portmidi for win32 because it is
a dependency of denemo. Would I pretty much follow the linux
installation instructions or the windows instruction? In the windows
version it uses a .bat file. Should I read the bat file and basically do
what it does or what do you recommend?

Please cc me because I am not subscribed to the mailing list.

Thanks,
Jeremiah
_______________________________________________
media_api mailing list
address@hidden
http://lists.create.ucsb.edu/mailman/listinfo/media_api





Jeremiah

Richard






reply via email to

[Prev in Thread] Current Thread [Next in Thread]