comp.lang.ada
 help / color / mirror / Atom feed
* Ada and MidiShare
@ 2003-10-12  3:24 Dr. Justice
  2003-10-12  6:27 ` tmoran
                   ` (3 more replies)
  0 siblings, 4 replies; 25+ messages in thread
From: Dr. Justice @ 2003-10-12  3:24 UTC (permalink / raw)


Hi folks!

I've decided that I want to try and use Ada for my next projects. I come
from a background of mostly assembly, C and PL/SQL and wanting to move into
a "new and better" language for general computing I can not think of
anything better than Ada. I'm convinced I'll have a nice adventure - you can
add two new users (a friend of mine as well) to the statisctics :-)

For Ada to be really useful for me, I need windowing GUI, MIDI I/O, and
ideally audio I/O as well. My platform is Windows (can use Linux too) and
GNAT 3.15p, and I'd like to be able to build for all of Windows, Linux and
MacOS (with a priority on Windows).

GtkAda should do the GUI part nicely. Very nice kit it seems (I have yet to
ty it out in practice!).

After much searching and reading on the web I understand that MIDI and audio
support is not readily available. It seems that Claw supports at least
audio, but that is only for Windows. The audio support I'd want is very
simple, just buffered streams to/from the audio inputs/outputs for realtime
recording and playback. Performance is not critical initially. I will
continue my search for possible C libraries, but I'm pretty blank in this
area (sound/MIDI on Win/Mac/Linux).

For MIDI, the use of MidiShare (http://www.grame.fr/MidiShare/) may be a
solution. I know MidiShare from programming the Soundart Chameleon and like
it a lot. It covers all the platforms in question. I will look into the
possibilty of making a set of bindings (using C and gcc). Luckily for me, it
all resembles the Oracle, PL/SQL and C "way", which I have a bit of
experience with.

These are my general thoughts so far. I still have more research to do
before I'm sure how I will proceed with respect to the MIDI/audio bits.
Anyway, I will get on with my Ada self-education, and play some with C
bindings.

Having just these simple tools of MIDI and audio I/O could open up new
possibilties for Ada, and attract new users, yes?

I don't really have any specific Ada questions at this point, but I'm sure
this group will be a useful resource from here.

If there are others who share an interest in creating MIDI/audio
applications using Ada, and want to discuss or cooperate on IO libraries, or
have any good pointers on these subjects, please let me know! As mentioned I
have done /much/ searching, so the most obvious hits for Ada/sound/MIDI on
AllTheWeb,Google and Dejanews are covered.


Regards,

   Are Leistad
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12  3:24 Ada and MidiShare Dr. Justice
@ 2003-10-12  6:27 ` tmoran
  2003-10-12 13:59   ` aleistad
  2003-10-12 10:30 ` Stephane Richard
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 25+ messages in thread
From: tmoran @ 2003-10-12  6:27 UTC (permalink / raw)


>It seems that Claw supports at least audio, but that is only for Windows.
>The audio support I'd want is very simple, just buffered streams to/from
>the audio inputs/outputs for realtime recording and playback.

Claw multimedia audio under Windows includes things like:

For simple buffered Stream IO:
  type Stream_Type(Channel_Count : Channel_Counts;
                   Byte_Depth    : Byte_Depths;
                   Sample_Rate, Length : CLAW.DWord;
                   Buffer_Count : Buffer_Counts)
  is new Ada.Streams.Root_Stream_Type with private;

  procedure Open_Output(Stream : in out Stream_Type;
                        Playing_Device : in Playing_Device_ID_Type);

  procedure Write(Stream : in out Stream_Type;
                  Item   : in     Ada.Streams.Stream_Element_Array);

  procedure Close(Stream : in out Stream_Type);

For buffered IO with structured data (ie, Mono8_Wave_Type,
Stereo16_Wave_Type, etc):

  type Mono8_Stream_Type(Sample_Rate, Length : CLAW.DWord;
                         Buffer_Count : Buffer_Counts)
  is new Stream_Type with private;

  procedure Mono8_Wave_Type_Read(Stream : access Ada.Streams.Root_Stream_Type'class;
                                 Item   :    out Mono8_Wave_Type);

  procedure Mono8_Wave_Type_Write(Stream : access Ada.Streams.Root_Stream_Type'class;
                                  Item   : in     Mono8_Wave_Type);

For asynchronous IO, where you get a callback on each buffer load:

  type Async_Type(Channel_Count : Channel_Counts;
                  Byte_Depth    : Byte_Depths;
                  Sample_Rate, Length : CLAW.DWord;
                  Buffer_Count : Buffer_Counts)
  is abstract new Ada.Finalization.Limited_Controlled with private;

  procedure When_Listen(Async : in out Mono8_Async_Type;
                        Sound : in     Mono8_Wave_Type) is abstract;
  -- User supplied routine, called with each buffer load of incoming sound.

  procedure When_Say(Async : in out Mono8_Async_Type;
                     Sound :    out Mono8_Wave_Type) is abstract;
  -- User supplied routine, called to get sound for outgoing buffer.

etc.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12  3:24 Ada and MidiShare Dr. Justice
  2003-10-12  6:27 ` tmoran
@ 2003-10-12 10:30 ` Stephane Richard
  2003-10-12 14:16   ` aleistad
  2003-10-13  8:51 ` Craig Carey
  2003-10-17  0:04 ` aleistad
  3 siblings, 1 reply; 25+ messages in thread
From: Stephane Richard @ 2003-10-12 10:30 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3136 bytes --]


"Dr. Justice" <sorry@no.spam.wanted> wrote in message
news:3f88cb3d$1@news.broadpark.no...
> Hi folks!
>
> I've decided that I want to try and use Ada for my next projects. I come
> from a background of mostly assembly, C and PL/SQL and wanting to move
into
> a "new and better" language for general computing I can not think of
> anything better than Ada. I'm convinced I'll have a nice adventure - you
can
> add two new users (a friend of mine as well) to the statisctics :-)
>
> For Ada to be really useful for me, I need windowing GUI, MIDI I/O, and
> ideally audio I/O as well. My platform is Windows (can use Linux too) and
> GNAT 3.15p, and I'd like to be able to build for all of Windows, Linux and
> MacOS (with a priority on Windows).
>
> GtkAda should do the GUI part nicely. Very nice kit it seems (I have yet
to
> ty it out in practice!).
>
> After much searching and reading on the web I understand that MIDI and
audio
> support is not readily available. It seems that Claw supports at least
> audio, but that is only for Windows. The audio support I'd want is very
> simple, just buffered streams to/from the audio inputs/outputs for
realtime
> recording and playback. Performance is not critical initially. I will
> continue my search for possible C libraries, but I'm pretty blank in this
> area (sound/MIDI on Win/Mac/Linux).
>
> For MIDI, the use of MidiShare (http://www.grame.fr/MidiShare/) may be a
> solution. I know MidiShare from programming the Soundart Chameleon and
like
> it a lot. It covers all the platforms in question. I will look into the
> possibilty of making a set of bindings (using C and gcc). Luckily for me,
it
> all resembles the Oracle, PL/SQL and C "way", which I have a bit of
> experience with.
>
> These are my general thoughts so far. I still have more research to do
> before I'm sure how I will proceed with respect to the MIDI/audio bits.
> Anyway, I will get on with my Ada self-education, and play some with C
> bindings.
>
> Having just these simple tools of MIDI and audio I/O could open up new
> possibilties for Ada, and attract new users, yes?
>
> I don't really have any specific Ada questions at this point, but I'm sure
> this group will be a useful resource from here.
>
> If there are others who share an interest in creating MIDI/audio
> applications using Ada, and want to discuss or cooperate on IO libraries,
or
> have any good pointers on these subjects, please let me know! As mentioned
I
> have done /much/ searching, so the most obvious hits for Ada/sound/MIDI on
> AllTheWeb,Google and Dejanews are covered.
>
>
> Regards,
>
>    Are Leistad
> --
>
>
>

Hi Are (and that friend of yours too :-) welcome aboard.

I'm also working on a MIDI project using ada so perhaps we can talk you and
I.

Since you have experience in C/C++ I can't help but suggest you go to my
website (http://www.adaworld.com), in the "Learning Center" under "Free
Books" and grab yourself a copy a copy of the pdf file called Ada Distilled
which teaches ada to namely C++ programmers.  You might find it invaluable.
-- 
St�phane Richard
"Ada World" Webmaster
http://www.adaworld.com






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12  6:27 ` tmoran
@ 2003-10-12 13:59   ` aleistad
  2003-10-12 19:01     ` tmoran
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-12 13:59 UTC (permalink / raw)


<tmoran@acm.org> wrote in message news:fv6ib.740551$Ho3.181752@sccrnsc03...
> >It seems that Claw supports at least audio, but that is only for Windows.
> >The audio support I'd want is very simple, just buffered streams to/from
> >the audio inputs/outputs for realtime recording and playback.
>
> Claw multimedia audio under Windows includes things like:
>
> For simple buffered Stream IO:
[snip]
> For buffered IO with structured data (ie, Mono8_Wave_Type,
[snip]
> For asynchronous IO, where you get a callback on each buffer load:
[snip]

Now, that looks very nice! Exactly what I'm after (callbacks being the
favourite). But AFAIK Claw is exclusively  for Windows. However, if Claw
also supports MIDI, I'd be serioulsy tempted to give it a closer look.

Perhaps you are using Claw and can confirm or deny wheter it has MIDI
capabilities?

Regards,

  Are
--







^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12 10:30 ` Stephane Richard
@ 2003-10-12 14:16   ` aleistad
  2003-10-12 14:47     ` Stephane Richard
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-12 14:16 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1536 bytes --]

"Stephane Richard" <stephane.richard@verizon.net> wrote in message
news:N2aib.3114$zw4.152@nwrdny01.gnilink.net...
>
> Hi Are (and that friend of yours too :-) welcome aboard.

Thank you!

> I'm also working on a MIDI project using ada so perhaps we can talk you
and
> I.
>
> Since you have experience in C/C++ I can't help but suggest you go to my
> website (http://www.adaworld.com), in the "Learning Center" under "Free
> Books" and grab yourself a copy a copy of the pdf file called Ada
Distilled
> which teaches ada to namely C++ programmers.  You might find it
invaluable.
> --
> St�phane Richard
> "Ada World" Webmaster
> http://www.adaworld.com

I've already been at your excellent site and picked up Ada Distilled. In
fact, after my Ada web searches, I have ended up with several tutorials and
even a few full books. It is no shortage of learning material on the web it
seems. I'll pick up a printed book or two as well; there's no substitute for
paper :)

Can you possibly tell a little bit about how you acheive MIDI I/O, and any
other useful bits for MIDI applications? Do you also deal with sound in your
project? What components are you using, and what are your development and
target platforms?

Having thought more about it, MidiShare may be a bit of an overkill - it's
just that i may be the easiest way to get MIDI going (for me). Ideally I'd
like the simplest of MIDI I/O, again just a buffered raw stream would do,
and then any extra functionality (a la MidiShare) can be done in Ada.

Regards,

      Are
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12 14:16   ` aleistad
@ 2003-10-12 14:47     ` Stephane Richard
  0 siblings, 0 replies; 25+ messages in thread
From: Stephane Richard @ 2003-10-12 14:47 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2787 bytes --]

"aleistad" <sorry@no.spam.wanted> wrote in message
news:3f89641d$3@news.broadpark.no...
> "Stephane Richard" <stephane.richard@verizon.net> wrote in message
> news:N2aib.3114$zw4.152@nwrdny01.gnilink.net...
> >
> > Hi Are (and that friend of yours too :-) welcome aboard.
>
> Thank you!
>
> > I'm also working on a MIDI project using ada so perhaps we can talk you
> and
> > I.
> >
> > Since you have experience in C/C++ I can't help but suggest you go to my
> > website (http://www.adaworld.com), in the "Learning Center" under "Free
> > Books" and grab yourself a copy a copy of the pdf file called Ada
> Distilled
> > which teaches ada to namely C++ programmers.  You might find it
> invaluable.
> > --
> > St�phane Richard
> > "Ada World" Webmaster
> > http://www.adaworld.com
>
> I've already been at your excellent site and picked up Ada Distilled. In
> fact, after my Ada web searches, I have ended up with several tutorials
and
> even a few full books. It is no shortage of learning material on the web
it
> seems. I'll pick up a printed book or two as well; there's no substitute
for
> paper :)

*** True, Ada books aren't that easy to find around here where I live right
now though, so PDF's is what I'm looking for :-).  for now.

>
> Can you possibly tell a little bit about how you acheive MIDI I/O, and any
> other useful bits for MIDI applications? Do you also deal with sound in
your
> project? What components are you using, and what are your development and
> target platforms?
>
*** Although I did plan a multiplatform version if the project, I didn't
want to abide to any thick binding or libraries either.  therefore I using
thin binding functions to the Windows API itself so the overhead is as small
as possible.  that would be for windows.  For Linux I was thinkign of ALSA
perhaps but again I fall into a hierarchy of multimedia objects I'm not sure
I want to get into.  so I'm looking for a somwhat thing set of Function
libraries that manage MIDI and digital IO not sure if such a thing exists
for Linux because I believe the low level functions are within independant
drivers/libraries on a per sound card basis.


> Having thought more about it, MidiShare may be a bit of an overkill - it's
> just that i may be the easiest way to get MIDI going (for me). Ideally I'd
> like the simplest of MIDI I/O, again just a buffered raw stream would do,
> and then any extra functionality (a la MidiShare) can be done in Ada.
>
*** perhaps a bit of an overkill since timing precision is probably better
in Ada itself :-).  other than timing what else is important in music?  at
least as far as MIDI goes.  For digital audio there maybe an advantage but
with tmoran's reply, maybe not :-).


-- 
St�phane Richard
"Ada World" Webmaster
http://www.adaworld.com







^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12 13:59   ` aleistad
@ 2003-10-12 19:01     ` tmoran
  0 siblings, 0 replies; 25+ messages in thread
From: tmoran @ 2003-10-12 19:01 UTC (permalink / raw)


> But AFAIK Claw is exclusively  for Windows. However, if Claw
> also supports MIDI, I'd be serioulsy tempted to give it a closer look.
  Claw is currently only implemented on Windows, though there's no
reason the same spec couldn't be implemented with a different body
on Linux or whatever.

> Perhaps you are using Claw and can confirm or deny wheter it has MIDI
> capabilities?
   I'm adding to Claw and, as far as I know, there's no work on adding
MIDI.  My understanding is that at the low level, MIDI is just low
baud rate serial IO, in which case it should be able to use ordinary
serial IO facilities, no?  OTOH, if you want a higher level...



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12  3:24 Ada and MidiShare Dr. Justice
  2003-10-12  6:27 ` tmoran
  2003-10-12 10:30 ` Stephane Richard
@ 2003-10-13  8:51 ` Craig Carey
  2003-10-13 14:02   ` aleistad
  2003-10-17  0:04 ` aleistad
  3 siblings, 1 reply; 25+ messages in thread
From: Craig Carey @ 2003-10-13  8:51 UTC (permalink / raw)



Some MIDI files are getting harder to obtain.

One improvisation of the Schubert Wanderer Fantasy, that goes under the
name "FANTASI3.CMF" (1..4), is now available from only one webpage:

   http://riverbbs.net/files/output/40701.Html  (The River Canyon Rd BBS)

The file can be converted from the CMF (a format of Creative) into MIDI
format, using the DOS cmf2mid program:

   http://www.hitsquad.com/smm/programs/cmf2mid/



On Sun, 12 Oct 2003 05:24:15 +0200, "Dr. Justice" <sorry@no.spam.wanted>
wrote:
...
>GtkAda should do the GUI part nicely. Very nice ... (I have yet to [try]
> it out in practice!).
...

It is inferior. Winamp 2 seems quite excellent.


>For MIDI, the use of MidiShare (http://www.grame.fr/MidiShare/) may be a
>solution. I know MidiShare from programming the Soundart Chameleon and

| We even resurrected the MIDI engine from the Atari ST to give the
| Chameleon the tightest timing.
     -> From  http://www.soundart-hot.com/english/chameleon1.htm

Atari.
DirectX 9 runs fine and perhaps you would say what is wrong with
DirectX 9.

Craig Carey





^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-13  8:51 ` Craig Carey
@ 2003-10-13 14:02   ` aleistad
  2003-10-14  2:01     ` Jeff C,
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-13 14:02 UTC (permalink / raw)


"Craig Carey" <research@ijs.co.nz> wrote in message
news:3onkov8fslkkj992a1osekfr1n06qt3265@4ax.com...
>
> Some MIDI files are getting harder to obtain.
>
> One improvisation of the Schubert Wanderer Fantasy, that goes under the
> name "FANTASI3.CMF" (1..4), is now available from only one webpage:
>
>    http://riverbbs.net/files/output/40701.Html  (The River Canyon Rd BBS)
>
> The file can be converted from the CMF (a format of Creative) into MIDI
> format, using the DOS cmf2mid program:
>
>    http://www.hitsquad.com/smm/programs/cmf2mid/
>
>
>
> On Sun, 12 Oct 2003 05:24:15 +0200, "Dr. Justice" <sorry@no.spam.wanted>
> wrote:
> ...
> >GtkAda should do the GUI part nicely. Very nice ... (I have yet to [try]
> > it out in practice!).
> ...
>
> It is inferior. Winamp 2 seems quite excellent.
>
>
> >For MIDI, the use of MidiShare (http://www.grame.fr/MidiShare/) may be a
> >solution. I know MidiShare from programming the Soundart Chameleon and
>
> | We even resurrected the MIDI engine from the Atari ST to give the
> | Chameleon the tightest timing.
>      -> From  http://www.soundart-hot.com/english/chameleon1.htm
>
> Atari.
> DirectX 9 runs fine and perhaps you would say what is wrong with
> DirectX 9.
>
> Craig Carey

I'm sligthly confused as to the relevance of MIDI files, Creative and Winamp
in this context.

Regarding MidiShare and Atari, that was 10-15 years ago. MidiShare now runs
on Windows, MacOS, Linux and some embedded targets. I can not tell you what
is wrong with DirectX - in fact I wasn't aware that there is anything wrong
with it (apart from the likeliness of it having a few bugs...). As
mentioned, MidiShare may indeed be overkill, and the timing and parsing of
the stream is probably best done in Ada. If DirectX has a way of accessing
the MIDI ports then that may be worth investigating.

As an aside: with the whole of DirectX wrapped up with Ada bindings, things
might take an interesting turn.... (I don't know the DirectX details and
have little idea what it (and binding it) entails in practice)

Regards,

 Are Leistad
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-13 14:02   ` aleistad
@ 2003-10-14  2:01     ` Jeff C,
  2003-10-14 16:02       ` aleistad
  0 siblings, 1 reply; 25+ messages in thread
From: Jeff C, @ 2003-10-14  2:01 UTC (permalink / raw)



"aleistad" <sorry@no.spam.wanted> wrote in message
news:3f8ab254$1@news.broadpark.no...
> "Craig Carey" <research@ijs.co.nz> wrote in message
> news:3onkov8fslkkj992a1osekfr1n06qt3265@4ax.com...
>>
> As an aside: with the whole of DirectX wrapped up with Ada bindings,
things
> might take an interesting turn.... (I don't know the DirectX details and
> have little idea what it (and binding it) entails in practice)
>
> Regards,
>
>  Are Leistad
> --


It has been done

http://www.adapower.com/gwindows/dx8-prj1.zip

But basically on Windows if you can get an ActiveX component or TLB for
something it is trivial (usually)
to generate a binding to the component using the gnatcom tools available at
www.adapower.com





^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-14  2:01     ` Jeff C,
@ 2003-10-14 16:02       ` aleistad
  2003-10-14 16:12         ` aleistad
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-14 16:02 UTC (permalink / raw)


"Jeff C," <nolongersafeto@userealemailsniff.com> wrote in message
news:cOIib.277731$mp.215406@rwcrnsc51.ops.asp.att.net...
[snip]
> http://www.adapower.com/gwindows/dx8-prj1.zip
>
> But basically on Windows if you can get an ActiveX component or TLB for
> something it is trivial (usually)
> to generate a binding to the component using the gnatcom tools available
at
> www.adapower.com

Very interesting! Both GWindows itself and the interfacing possibilities it
offers. One neat thing is that it lists "MIDI support" as a feature :)

Having tried GtkAda, which works on Win98 BTW, I shall now try GWindows.

Have anybody out there used GWindows and its MIDI support?

    Are

--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-14 16:02       ` aleistad
@ 2003-10-14 16:12         ` aleistad
  2003-10-14 16:58           ` Preben Randhol
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-14 16:12 UTC (permalink / raw)


Ooops! -  I must correct myself:

> One neat thing is that it lists "MIDI support" as a feature :)

I misread the feature list; it has MDI support, not MIDI support. Guess I
wanted it to be MIDI... :-)

Oh well, GWindows still looks attractive as the best candidate for getting
the multimedia features rolling. Although to someone coming from non-windows
programming, getting only a MIDI stream going looks a bit daunting
intitially.

    Are
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-14 16:12         ` aleistad
@ 2003-10-14 16:58           ` Preben Randhol
  2003-10-15 20:55             ` aleistad
  0 siblings, 1 reply; 25+ messages in thread
From: Preben Randhol @ 2003-10-14 16:58 UTC (permalink / raw)


On 2003-10-14, aleistad <sorry@no.spam.wanted> wrote:
>
> Oh well, GWindows still looks attractive as the best candidate for getting
> the multimedia features rolling. Although to someone coming from non-windows
> programming, getting only a MIDI stream going looks a bit daunting
> intitially.

Have you looked at GtkAda?

Preben



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-14 16:58           ` Preben Randhol
@ 2003-10-15 20:55             ` aleistad
  2003-10-15 22:24               ` Chad R. Meiners
  2003-10-16  8:16               ` Preben Randhol
  0 siblings, 2 replies; 25+ messages in thread
From: aleistad @ 2003-10-15 20:55 UTC (permalink / raw)


"Preben Randhol" <randhol+valid_for_reply_from_news@pvv.org> wrote in
message
news:slrnbooapa.rb6.randhol+valid_for_reply_from_news@kiuk0152.chembio.ntnu.
no...
> On 2003-10-14, aleistad <sorry@no.spam.wanted> wrote:
[snip]
> Have you looked at GtkAda?
>
> Preben

Yes, I have tried GtkAda and glade-2 on Win98. It could do the GUI part just
fine.

My hope is to find/assemble an environment which gives GUI, MIDI and audio
support out-of-the-box, if at all possible. The priority is on Windows and
MIDI I/O, but Mac/Linux portability would be a nice bonus. Having only the
simplest MIDI functionality, like open(),  get(), put() and close() would do
nicely. I'm still searching for the solution.

      Are
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-15 20:55             ` aleistad
@ 2003-10-15 22:24               ` Chad R. Meiners
  2003-10-16  1:08                 ` aleistad
  2003-10-16  8:16               ` Preben Randhol
  1 sibling, 1 reply; 25+ messages in thread
From: Chad R. Meiners @ 2003-10-15 22:24 UTC (permalink / raw)



"aleistad" <sorry@no.spam.wanted> wrote in message
news:3f8db6d8$1@news.broadpark.no...
> "Preben Randhol" <randhol+valid_for_reply_from_news@pvv.org> wrote in
> message
>
news:slrnbooapa.rb6.randhol+valid_for_reply_from_news@kiuk0152.chembio.ntnu.
> no...
> > On 2003-10-14, aleistad <sorry@no.spam.wanted> wrote:
> [snip]
> > Have you looked at GtkAda?
> >
> > Preben
>
> Yes, I have tried GtkAda and glade-2 on Win98. It could do the GUI part
just
> fine.
>
> My hope is to find/assemble an environment which gives GUI, MIDI and audio
> support out-of-the-box, if at all possible. The priority is on Windows and
> MIDI I/O, but Mac/Linux portability would be a nice bonus. Having only the
> simplest MIDI functionality, like open(),  get(), put() and close() would
do
> nicely. I'm still searching for the solution.
>
>       Are
> --

SDL and SDL_Mixer?

http://www.libsdl.org/index.php

-CRM





^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-15 22:24               ` Chad R. Meiners
@ 2003-10-16  1:08                 ` aleistad
  2003-10-16 17:08                   ` Pascal Obry
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-16  1:08 UTC (permalink / raw)


"Chad R. Meiners" <crmeiners@hotmail.com> wrote in message
news:bmkhfn$137$1@msunews.cl.msu.edu...
[snip]
> SDL and SDL_Mixer?
>
> http://www.libsdl.org/index.php
>
> -CRM

Aha good old SDL - Thanks for reminding me!

Definately an option for sound. However, it does not support MIDI (yet...)
as far as I can see.

    Are
--








^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-15 20:55             ` aleistad
  2003-10-15 22:24               ` Chad R. Meiners
@ 2003-10-16  8:16               ` Preben Randhol
  2003-10-16 12:54                 ` aleistad
  1 sibling, 1 reply; 25+ messages in thread
From: Preben Randhol @ 2003-10-16  8:16 UTC (permalink / raw)


On 2003-10-15, aleistad <sorry@no.spam.wanted> wrote:
>
> My hope is to find/assemble an environment which gives GUI, MIDI and audio
> support out-of-the-box, if at all possible. The priority is on Windows and
> MIDI I/O, but Mac/Linux portability would be a nice bonus. Having only the
> simplest MIDI functionality, like open(),  get(), put() and close() would do
> nicely. I'm still searching for the solution.

As far as I know Gwindows doesn't work on other platforms than windows
or has this changed lately?

Preben



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16  8:16               ` Preben Randhol
@ 2003-10-16 12:54                 ` aleistad
  2003-10-16 20:00                   ` tmoran
  0 siblings, 1 reply; 25+ messages in thread
From: aleistad @ 2003-10-16 12:54 UTC (permalink / raw)


"Preben Randhol" <randhol+valid_for_reply_from_news@pvv.org> wrote in
message
news:slrnboskv6.ot.randhol+valid_for_reply_from_news@kiuk0152.chembio.ntnu.n
o...
[snip]
> As far as I know Gwindows doesn't work on other platforms than windows
> or has this changed lately?
>
> Preben

That's right, Windows only. But it holds great promise when it comes to
integrating with various Windows services. It can use ActiveX and DirectX
which I take (in my ignorance) to mean that MIDI is not too hard to
implement.

It is with slight astonishment I have to conclude that no MIDI support has
ever figured in Ada.  The lack of  complete/serviceable/standard multimedia
facilities must surely be a contributing factor to the diminishing
popularity of the language...

Im' not giving up just yet, though; If anyone feels like adding the basic
MIDI byte I/O capability, I will happily contribute with an Ada support
library for higher level operations.

  Are
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16  1:08                 ` aleistad
@ 2003-10-16 17:08                   ` Pascal Obry
  2003-10-16 17:36                     ` aleistad
  0 siblings, 1 reply; 25+ messages in thread
From: Pascal Obry @ 2003-10-16 17:08 UTC (permalink / raw)



"aleistad" <sorry@no.spam.wanted> writes:

> Aha good old SDL - Thanks for reminding me!
> 
> Definately an option for sound. However, it does not support MIDI (yet...)
> as far as I can see.

FMOD does support MIDI but only on Windows I think, check it out:
http://www.fmod.org/

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16 17:08                   ` Pascal Obry
@ 2003-10-16 17:36                     ` aleistad
  2003-10-16 19:48                       ` Pascal Obry
  2003-10-16 20:39                       ` Stephen Leake
  0 siblings, 2 replies; 25+ messages in thread
From: aleistad @ 2003-10-16 17:36 UTC (permalink / raw)


"Pascal Obry" <p.obry@wanadoo.fr> wrote in message
news:u3cdt2jri.fsf@wanadoo.fr...
 > FMOD does support MIDI but only on Windows I think, check it out:
> http://www.fmod.org/
>
> Pascal.

Looks like a nice library, but no Ada bindings  (Incidentally, Python has
bindings to FMOD(!)).

ATM I'm looking at the possibility of using Win32Ada to build a minimal
MIDI/audio I/O library. If that fails I will try to use C/gcc and the winmm
library, then make bindings for Ada. This route looks like it should be
doable with a minimun of work, although my lack of both Windows and Ada
experience will probably lead me through a fairly long path to get there. I
will report on my findings to this group.

BTW: is there any reason to not use Win32Ada in this day and age (the GNAT
one)? It looks like development was stopped many years ago.

The more I look around, the more I think that what Ada needs is a very
minimal binding to the (Win,Mac,Linux) host platforms MIDI and audio I/O,
leaving out all the huge (C/C++) libraries. Then this minimal I/O library
can be used to build a "native standard" Ada MIDI/audio library "the way
it's meant to be" (tm) . Portaudio, SDL, FMOD and their siblings are surely
nice libraries, but in this case (minimal I/O) they are overkill.

  Are
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16 17:36                     ` aleistad
@ 2003-10-16 19:48                       ` Pascal Obry
  2003-10-16 20:39                       ` Stephen Leake
  1 sibling, 0 replies; 25+ messages in thread
From: Pascal Obry @ 2003-10-16 19:48 UTC (permalink / raw)



"aleistad" <sorry@no.spam.wanted> writes:

> Looks like a nice library, but no Ada bindings  (Incidentally, Python has
> bindings to FMOD(!)).

Why not write one ? Should be easier than starting from scratch, no ?

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16 12:54                 ` aleistad
@ 2003-10-16 20:00                   ` tmoran
  2003-10-16 23:50                     ` aleistad
  0 siblings, 1 reply; 25+ messages in thread
From: tmoran @ 2003-10-16 20:00 UTC (permalink / raw)


> If anyone feels like adding the basic MIDI byte I/O capability, I will
> happily contribute with an Ada support
  Which of the 40+ MS Windows functions are needed to cover the basic
capabilities you need?



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16 17:36                     ` aleistad
  2003-10-16 19:48                       ` Pascal Obry
@ 2003-10-16 20:39                       ` Stephen Leake
  1 sibling, 0 replies; 25+ messages in thread
From: Stephen Leake @ 2003-10-16 20:39 UTC (permalink / raw)


"aleistad" <sorry@no.spam.wanted> writes:

> ATM I'm looking at the possibility of using Win32Ada to build a minimal
> MIDI/audio I/O library. If that fails I will try to use C/gcc and the winmm
> library, then make bindings for Ada. This route looks like it should be
> doable with a minimun of work, although my lack of both Windows and Ada
> experience will probably lead me through a fairly long path to get there. I
> will report on my findings to this group.
> 
> BTW: is there any reason to not use Win32Ada in this day and age (the GNAT
> one)? It looks like development was stopped many years ago.

Well, those of us who have written thick bindings to windows (CLAW,
GWindows, Windex), don't use Win32Ada, becuase it has a "C" look and
feel. We prefer to bind directly to the Win32 API as we need to.

I suggest you consider writing an extension to CLAW or GWindows to
support MIDI. That will make your life easier, and make it easier for
everyone else to use as well.

You could also extend Windex, but that library is officially retired
now.

> The more I look around, the more I think that what Ada needs is a
> very minimal binding to the (Win,Mac,Linux) host platforms MIDI and
> audio I/O, leaving out all the huge (C/C++) libraries. 

Yes.

> Then this minimal I/O library can be used to build a "native
> standard" Ada MIDI/audio library "the way it's meant to be" (tm) .

Yes. If it turns out that the MIDI library doesn't need anything from
GWindows or CLAW, then making it stand-alone would be fine; then it
could be used with GtkAda.

> Portaudio, SDL, FMOD and their siblings are surely nice libraries,
> but in this case (minimal I/O) they are overkill.

Yes.

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-16 20:00                   ` tmoran
@ 2003-10-16 23:50                     ` aleistad
  0 siblings, 0 replies; 25+ messages in thread
From: aleistad @ 2003-10-16 23:50 UTC (permalink / raw)


<tmoran@acm.org> wrote in message news:cNCjb.573897$cF.247155@rwcrnsc53...
>   Which of the 40+ MS Windows functions are needed to cover the basic
> capabilities you need?

Please see the next posting and the new thread "MIDI library for Ada".

  Are
--








^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Ada and MidiShare
  2003-10-12  3:24 Ada and MidiShare Dr. Justice
                   ` (2 preceding siblings ...)
  2003-10-13  8:51 ` Craig Carey
@ 2003-10-17  0:04 ` aleistad
  3 siblings, 0 replies; 25+ messages in thread
From: aleistad @ 2003-10-17  0:04 UTC (permalink / raw)


Tank you everybody for participating in this thread!

As things have moved on and MidiShare is no longer the candidate, I think a
new thread may be in order; please see "MIDI library for Ada" for further
discussion of this issue.

    Are
--






^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2003-10-17  0:04 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-12  3:24 Ada and MidiShare Dr. Justice
2003-10-12  6:27 ` tmoran
2003-10-12 13:59   ` aleistad
2003-10-12 19:01     ` tmoran
2003-10-12 10:30 ` Stephane Richard
2003-10-12 14:16   ` aleistad
2003-10-12 14:47     ` Stephane Richard
2003-10-13  8:51 ` Craig Carey
2003-10-13 14:02   ` aleistad
2003-10-14  2:01     ` Jeff C,
2003-10-14 16:02       ` aleistad
2003-10-14 16:12         ` aleistad
2003-10-14 16:58           ` Preben Randhol
2003-10-15 20:55             ` aleistad
2003-10-15 22:24               ` Chad R. Meiners
2003-10-16  1:08                 ` aleistad
2003-10-16 17:08                   ` Pascal Obry
2003-10-16 17:36                     ` aleistad
2003-10-16 19:48                       ` Pascal Obry
2003-10-16 20:39                       ` Stephen Leake
2003-10-16  8:16               ` Preben Randhol
2003-10-16 12:54                 ` aleistad
2003-10-16 20:00                   ` tmoran
2003-10-16 23:50                     ` aleistad
2003-10-17  0:04 ` aleistad

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox