At 10:38 AM -0400 5/2/01, Roy Pardi wrote:
>At 7:25 AM -0700 5/2/2001, Irv Kalb wrote:
>>I'll guess I'll answer my own question. Bought it, downloaded it,
>>got it started, ran into some difficulties, wrote SourceForce, they
>>wrote me back within hours with the solution, and now my program is
>>running fine. I'd give that experience a huge thumbs up!
>>
>
>
>Hi Irv,
>
>I imagine you have already looked at and rejected Beatnik for some
>reason. Wondering why. I was able to have it play midi files fine.
>
Hey Roy,
Yes, your assumption is correct. I first tried to use Beatnik - and
rejected it. Here's the history.
I am trying to build a children's music game where kids can create a
song by indicating on a staff a series of notes they want to play
(quarter notes, half notes, whole notes, and rests). When they are
happy with what they have built, they can press a "Play" button to
play their song. They can go back and make changes and hit the play
button as many times as they wish. So, the basic idea is that I need
to be able to build a song on the fly.
In order to play music on the fly, I first went the route of building
up timing using a timer object and attempted to play back the notes
whenever I got a call back from the timeout object. Then we decided
to use Beatnik for synthesized notes so we didn't have to get
recorded notes from different instruments. But, while the timout
object called me back a regular intervals, when I used Beatnik to
play the notes, the resulting sound timing was just not right.
Instead of a strong beat, boom, boom, boom, boom, some were longer
and some were shorter, boom, booom, booom, bom, bom, boooom, etc. We
then tried eliminated Beatnik and tried a series of recorded notes to
see if the timing issue was in Beatnik or in Director. It turns out
that the timing problem occurred with both Beatnik and just using
puppetSounds.
My next attempt was to use the new D8 sound object. I figured I
could create a "playlist" of notes and just tell the sound object to
play the song. However, there is a serious bug in D8 (admitted to by
Macromedia) that play lists do not work correctly for short sounds.
I told the sound object to play 8 notes, and we hear seven. But it's
non-deterministic, you can never correctly how it's going to fail. I
was excited about the Director 8.5 release because I heard that this
bug was fixed in 8.5. Well, good news, bad news. The good news is
that the timing issue was indeed fixed in 8.5. I now build up a play
list of notes, and when I play it, the timing works out perfectly. A
very strong beat. The bad news is that when it transitions from one
note to the next, there is a highly audible "click". Since this game
is to be used in association with a symphony orchestra, the client
felt that this "click" was unacceptable.
So, back to the drawing board. Finally, I got the idea of creating a
MIDI song on the fly. In researching this, I found that the Sequence
XTRA from SourceForce allows us Director folks to create a MIDI song
(using lists) and then play it back. The result is a combination of
perfect timing with no "clicks".
So, the short answer to your question is, whiile Beatnik will
certainly play MIDI songs perfectly well, it has no facility for
creating MIDI in Lingo. The Sequence XTRA has the capability the
create and playback MIDI songs on the fly in Lingo.
Irv
--
Lingo / Director / Shockwave development for all occasions.
(Home-made Lingo cooked up fresh every day just for you.)
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi To post messages to the list,
email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo. Thanks!]