Amit Itzkovich | 5 Aug 2006 03:54

MAC dynamic ports

I'm porting my PortMidi application to MAC, and have just realized that in order for my app to communicate
with other MIDI app's I'll need to dynamically create a MIDI source and destination endpoints (according
to the CoreMIDI terminology).
I can create the source and destinations in my app code (outside portmidi) before portmidi starts, so that
portmidi wouldn't have to change its static nature, but I'll need portmidi to recognize these MIDI
sources/destinations and use them properly.

How complicated will it be to update PortMIDI to support that? 

Thanks!
Amit
Viceic Predrag | 5 Aug 2006 09:22
Picon

Re: MAC dynamic ports

Hi ,

What I have done for my app, Freecycle, is implement the spooler which reinits 
portmidi every n sec (when in midi config dialog), which allows to obtain the 
same effect without modifiyng the portmidi codebase. However , you should 
check that portmidi cleans well it's state on reinit, in order to avoid the 
memleaks or duplicate midi ports (I had this problem with portmidi's alsa 
connector on linux)

Cheers,
Predrag

Le samedi 5 août 2006 03:54, Amit Itzkovich a écrit :
> I'm porting my PortMidi application to MAC, and have just realized that in
> order for my app to communicate with other MIDI app's I'll need to
> dynamically create a MIDI source and destination endpoints (according to
> the CoreMIDI terminology). I can create the source and destinations in my
> app code (outside portmidi) before portmidi starts, so that portmidi
> wouldn't have to change its static nature, but I'll need portmidi to
> recognize these MIDI sources/destinations and use them properly.
>
> How complicated will it be to update PortMIDI to support that?
>
> Thanks!
> Amit
>
> _______________________________________________
> media_api mailing list
> media_api@...
> http://www.create.ucsb.edu/mailman/listinfo/media_api
(Continue reading)

Amit Itzkovich | 11 Aug 2006 00:14

MAC dynamic ports

Hi Predrag,

Actually I will still need to change portmidi because virtual sources use a different CoreMIDI function to
send MIDI. Sources bound to a device use the MIDISend function to send data to a destination, while virtual
sources use the MIDIReceived function to distribute the MIDI messages to any client input ports
connected to that source.
So I might not need to change the basic data structures, but some code will have to added/changed.
Let me know if you have any thoughts about it.

Thanks,
Amit
nico | 19 Aug 2006 12:57
Picon
Gravatar

pm_dll with minGW

hi all,
in my project, i use
Pm_CountDevices()

i've link the code with -lpm_dll
i'm working with dev_c++ and the linker tell me
undefined reference to 'Pm_CountDevices'

does this happened to someone else?

many thanks,
nicolas
Roger Dannenberg | 25 Aug 2006 21:22
Picon
Favicon

PortMidi update

I've just (finally) integrated a number of small changes to PortMidi and
linked to it and the previous version from
www.cs.cmu.edu/~portmusic/portmidi. I also added a list of things that I
hope to offer in the future. If I missed anything or you have any
suggestions or questions, let me know. -Roger
Tony Cappellini | 26 Aug 2006 21:38
Picon

Re: media_api Digest, Vol 25, Issue 4


Hello Roger

Tha link appears to not be valid.

I've just (finally) integrated a number of small changes to PortMidi and
linked to it and the previous version from
www.cs.cmu.edu/~portmusic/portmidi. I also added a list of things that I
hope to offer in the future. If I missed anything or you have any
suggestions or questions, let me know. -Roger



------------------------------

_______________________________________________
media_api mailing list
media_api-Ayv8T2snMLBt9CRQqspbbg@public.gmane.org
http://www.create.ucsb.edu/mailman/listinfo/media_api


End of media_api Digest, Vol 25, Issue 4
****************************************

_______________________________________________
media_api mailing list
media_api@...
http://www.create.ucsb.edu/mailman/listinfo/media_api
Roger Dannenberg | 27 Aug 2006 02:15
Picon
Favicon

Portmidi link


Thanks Tony! The correct portmidi link is:

    http://www.cs.cmu.edu/~music/portmusic/portmidi/

You can also find it from the “old” portmusic link which is still there and hopefully still useful at: http://www.cs.cmu.edu/~music/portmusic.

_______________________________________________
media_api mailing list
media_api@...
http://www.create.ucsb.edu/mailman/listinfo/media_api
Rick Taube | 27 Aug 2006 15:21
Picon

Re: Portmidi link


 > 	Rick Taube contributed a common lisp interface that I need to  
merge with this code.

Hi Roger, in the meantime ive added a Scheme interface for portmidi  
as well;  neither the common lisp nor the scheme interfaces actually  
requires Common Music:

	http://sourceforge.net/project/showfiles.php? 
group_id=9766&package_id=172088

the scheme interface is defined in portmidi.scm and gauche- 
portmidi.scm. it runs in Gauche Scheme using c-wrapper:

	http://www.shiro.dreamhost.com/scheme/gauche/	
	http://homepage.mac.com/naoki.koguro/prog/c-wrapper/index.html

the common lisp interface should work in any common lisp that  
supports cffi:

	http://common-lisp.net/project/cffi/

best, rick

On Aug 26, 2006, at 7:15 PM, Roger Dannenberg wrote:

>
> Thanks Tony! The correct portmidi link is:
>
>     http://www.cs.cmu.edu/~music/portmusic/portmidi/
>
> You can also find it from the “old” portmusic link which is still  
> there and hopefully still useful at: http://www.cs.cmu.edu/~music/ 
> portmusic.
>
> _______________________________________________
> media_api mailing list
> media_api@...
> http://www.create.ucsb.edu/mailman/listinfo/media_api
Roger Dannenberg | 29 Aug 2006 05:06
Picon
Favicon

Portmidi update -- VC++ files added

I omitted some VC++ project files and a "solution" file from the recent
release, so I just added them and put a new zip file on the web. The
date/version and the portmidi web page have all been updated to
portmidi28aug06.zip.

Also, the documentation is not clear about makefiles, which are
pm_mac/Makefile.osx and pm_linux/Makefile. You should either copy the
makefile you want to portmidi/Makefile and run make in portmidi, or specify
the makefile you want, e.g.

make -f pm_linux/Makefile

-Roger

Gmane