harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yang Paulex" <paulex.y...@gmail.com>
Subject Re: [classlib][sound]Proposal for Harmony Sound real implementation
Date Tue, 04 Sep 2007 16:58:00 GMT
2007/9/4, Leo Li <liyilei1979@gmail.com>:
>
> On 9/4/07, Jimmy,Jing Lv <firepure@gmail.com> wrote:
> > Hi,
> >
> >    I miss something last time, it seems if we want Harmony to play
> > music, we need a native support for sound in Harmony as well. RI's
> > implementation has a 100k-sized dll (sound.dll) under lib directory.
> >    However as we know, sound driver on windows and linux are totally
> > different,  and harmony port lib do not contain any support for this.
> > We need to write several libs for variety of platforms (windows,
> > linux, macos,etc).
> >
> >    And RI currently support .au、.aiff、.Wav、.Midi、.rfm files (do I
> > miss something here?) As a result, Harmony'd better implement these
> > providers (And IMO, it'll be better if Harmony support more formats of
> > media).
> >
> >    I try to google for more open source sound
> > providers/native-implementation these days, though most open source
> > music implementations are GPL licensed, still there're a few seems
> > good to use. For an example, "portaudio"[1] from Carnegie Mellon
> > University is  cross-platform APIs and library implementations for
> > music, under a MIT-like license, which seems compitable with APL., we
> > may use this library as our native lib of sound. But we'd better send
> > mail and ask them about this, do we?
>
>     I have also some interests in this area.
>     Apache has a mailing list about legal issues. Maybe we can ask the
> question there. Maybe we had better first it meet our need before we
> contact with the writer for the library about the license issues.


IMHO, the  license is pretty  clear here[1], so it should be OK for Harmony
to use that, as long as we follow the requirements to keep the copyright and
send back the fix. But of course, we should contact the author on this, at
least for thank them :)

[1]http://www.portaudio.com/license.html

      Besides, I have a skim over its tutorial[2].
>       And it says "This means that you can write a simple 'C' program
> to process or generate an audio signal, and that program can run on
> several different types of computer just by recompiling the source
> code. "
>       Does it mean that the library is just a sound driver and there
> still remains the work to decode signals from sound stream file, for
> example, a midi file, if I have not missed something?


Agreed, it's plain audio I/O API, which is mentioned in its FAQ[2]. We can
go on try to find the open
source projects which can be used as sound provider, or I think it worths a
try for us to ask the authors
of those GPL/LGPL audio libraries if they'd like relicense their projects in
a Apache compatible license.

[2] http://www.portaudio.com/faq.html#WAV

[2]http://www.portaudio.com/trac/wiki/TutorialDir/TutorialStart
> >    If we can use "portaudio" as our native lib, the next thing is to
> > implement our java providers for  .au、.aiff、.Wav、.Midi、.rfm, etc.
> > files, unluckiely, I dont find any non-GPLed or non-LGPLed open source
> > java sound provider yet. Is it acceptable for us to use LGPLed
> > providers (do not re-disturbute them, but ask harmony clients to
> > download themselves?) Or we can wrap native API, do some change to
> > comply java sound infrastructure. if native api is strong enough, the
> > wrapping may be not too costy.
> >
> >    Currently the sound module test coverage is still low, if we
> > finish real implementation, we can make it 100%.
> >
> >    Any comments/suggestions? And is it possible to mail portmusic and
> > use their lib as a part of Harmony? Thanks!
> >
> > [1] http://www.cs.cmu.edu/~music/portmusic/
> >
> > 2007/8/28, Jimmy,Jing Lv <firepure@gmail.com>:
> > > Hi All,
> > >
> > >     Though sound module has 100% API coverage [1], a simple test on
> > > sound module shows that it lacks some real providers[2]. What's more,
> > > Harmony need a sound.properties file under jdk/jre/lib according to
> > > java doc [3].
> > >     It seems Harmony does not have a sound provider yet  (please
> > > correct me if I miss something). So we have two ways to go:
> > >     1. code a provider for Harmony, it may be more than 300K in binary
> > > size according to RI's implementation, so a lot of work to do :)
> > >     2. find a sound provider from other open source project. I googled
> > > open source sound provider, and find some of them. On the top of
> > > search result is a project named Tritonus[4],  though it does not
> > > update since 2003, it is said "Tritonus is an implementation of the
> > > Java Sound API" and has a full build for downloading, sounds perfectly
> > > meet our requirement (but I did not test it yet), however it is GPL
> > > licensed. Some other project, like JLayer/MP3SPI[5] does not support
> > > Midi at all which is required, and also LGPL licensed. If we want to
> > > use these providers, we can not re-distribute them with
> > > Harmony(according to GPL and APL) but ask users to download them
> > > theirslves.
> > >
> > >      Any suggestions on this? Or do someone know some APL or
> > > APL-compatible open source java sound provider? Thanks!
> > >
> > >
> > > [1] http://www.kaffe.org/~stuart/japi/htmlout/h-jdk15-harmony5.html
> > > [2] a small test try to play a midi will cause an Error as follows
> > > while RI plays well:
> > > java.lang.Error: There is no MidiFileReaderProviders on your system!!!
> > >         at javax.sound.midi.MidiSystem.getSequence(MidiSystem.java
> :315)
> > >         at testdecl.PlayMidi.<init>(PlayMidi.java:39)
> > >         at testdecl.PlayMidi.main(PlayMidi.java:81)
> > > [3] file:///C:/Spec/docs/api/javax/sound/midi/MidiMessage.html
> > > [4] http://tritonus.org/
> > > [5] http://www.javazoom.net/projects.html
> > > --
> > >
> > > Best Regards!
> > >
> > > Jimmy, Jing Lv
> > > China Software Development Lab, IBM
> > >
> >
> >
> > --
> >
> > Best Regards!
> >
> > Jimmy, Jing Lv
> > China Software Development Lab, IBM
> >
>
>
>
> --
> Leo Li
> China Software Development Lab, IBM
>



-- 
Paulex Yang
China Software Development laboratory
IBM
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message