Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - modgeulator

#241
Quote from: a-v-o on Thu 29/04/2004 22:33:53
No problem with the demo. Level music and jingles, all working. Can start and quit the program for several times without an error message.
Well, I really don't know what the problem is. I have to admit, I've gone a little out of my depth programming-wise on this project (that's the only way to learn though.) Are there any experienced VC++ programmers that wouldn't mind looking through the source code to see if there's any silly mistakes I've made?

Quote
I gonna install Win95 on a 486 (100 MHz), then I can test it on that machine, too.
Thanks, that should be interesting to see if it works - you'll also need to install DirectX 8.0.

Pumaman, would there be anyway to return the DirectSound interface object in a function call? If I could access that I might be able to make this plugin work perfectly with the DirectSound driver.

Ben, are you running DirctX 8.0 or 8.1? No, you can't use those DX plugins, but there are built-in DirectMusic effects you can use (Chorus, Compressor, Distortion, Echo, Flanger, Gargle, Reverbs and a parametric EQ.)

Geoffkhan, it lets you use a DirectMusic Producer project. I don't really know how to explain it better than that, you might want to check out:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dmusprod/htm/overview.asp
If you're interested in working with it you should download DMP and work through the tutorial. Be warned, it isn't the most user-friendly program to work with - but it's not impossible to figure out either.
I'd say this plugin doesn't have a very wide appeal - probably has an interest group consisting of...umm... just me, and that's all at the moment. You have to learn DirectMusic Producer to use this plugin.

No, Hollister Man, it's not to fix a problem with game sound initiliazing. It's for the neat stuff making. I think I'm just managing to confuse people more and more  :-\

#242
Damn, this really has me stumped.
a-v-o, if you've got time, could you try downloading this: http://www.lynnemusic.com/gamemusic/dmdemo1.zip (~500kb) and seeing if it causes similar problems on your machine?
#243
Quote from: a-v-o on Wed 28/04/2004 21:34:50
When the sound device was disabled then I could hear background music, but after I quit game I couldn't start neither winsetup nor the game again. I had to reboot the computer, then I could start the game again.
Thanks a-v-o, you're really helping me a lot. I haven't been able to recreate this error on another computer running Windows 98 though. What happens if you start from a fresh boot with sound and music disabled, quit the game, then start it again? Without  testing it with any of the devices turned on in AGS in between.

Also, if anyone's using Windows 95 or Direct X 8.0, I'd be really interested to hear if it works or not (you'll need to run winsetup and disable sound and music first).
#244
Glad to hear it's been working for everyone so far. To answer the question, it's intended for playback of DirectMusic Producer soundtracks. You can create scripted interactive music in DMP and use this plug-in to load your project and call routines from within AGS.
If you've ever paid attention to the music in LucasArts games, from Monkey Island 2 onwards, you should of noticed how the music is constantly changing depending on what you do in the game. Think of the music in Woodtick, or at the swamp/voodoo lady. If you can learn DirectMusic Producer, you can now have music like that in an AGS game.
Another feature is DLS or Downloadble Sounds. This is a system similar to SoundFonts that can be used in DirectMusic Producer, so basically you can set up MIDI music playing back with customized sounds - the small filesize and flexibility of MIDI, but without the restrictions of normal "General MIDI" soundsets as well as music that will sound exactly the same on any computer.

So what this plugin does, exactly:
-Loads a DirectMusic Producer script and AudioPath upon initialization. The script filename currently must be "AGSGame.spt" and the AudioPath must be called "AGSGame.aud".
-Allows you to call routines within that script from an AGS game. You do this with a function:
DMRoutine(string routinename);

Hope that helped to explain things.

EDIT: a-v-o posted while I was posting. So it looks like it doesn't work with win98se then? I'll have to look into that.
a-v-o, could you try running winsetup.exe and disabling digital sound and MIDI music completely and seeing if it works then?

EDIT SOME MORE: Also, a-v-o, how much ram did that first machine have in it?

EDIT #3: I tested it myself on another machine running Windows 98SE, doesn't work with AGS audio system (no sound from DirectMusic and click sound as described by a-v-o). Works fine if i turn off the AGS audio output in winsetup. MIDI playback didn't cause any problems however.


I'm going to list these as the system requirements for now:

DirectMusic plugin, without AGS in-built audio: Direct X 8.1 or higher and Windows 98 or higher.
DirectMusic plugin *with* AGS in-built audio: Direct X 8.1 or higher and Windows 2000 or higher.
#245
Hi, I've completed my DirectMusic plugin for AGS.

System requirements:
Used alone: DirectX 8.0 or higher and Windows 95 or higher
Used in conjunction with AGS audio engine: DirectX 8.0 or higher and Windows 2000 or higher

The demo consists of three bare rooms. A forest, a town and an interior building inside a town. The forest has a simple ambient soundscape consisting of a random bird call, some forest animal/woodpecker kinda sounds (intended to be very similar to many classic Sierra games), and periods of silence. The town is a simple ditty for guitar and flute, entering the house-room it transitions to a similarly arranged piece then back again when you re-enter the town. I've written this music with the intention of using it in KQ 2.5.

In the house-room try INTERACTING with the BLUE CUP, it should trigger a sound effect and a MIDI music of a drum intro - this is being played using the internal AGS engine. I also need to know if this works. It's hard to click on the blue cup, so please try a few times if needed. Thanks.
(I know this will only work with Windows 2000 and XP now.)

You can download the demo here: http://modgeulator.tripod.com/DirectMusic.html

EDIT: If you're using Windows 95 / 98 / ME you need to run winsetup first and turn off the digital sound completely.

#246
Thanks Steve. I guess it is sorta like the old C64 days. I just think putting some code behind the music can be incredibly effective - and I've been becoming increasingly obsessed with the whole interactive audio field lately.

Pumaman, I only need to be able to disable the "Default DirectSound Device" digital sound output. The others (Wave Out and the MIDI devices) don't cause any problems and could even be used alongside the plugin (I'm not sure if that would be a good idea, though.)

EDIT: Pumaman - what I think would work best is an option that can be added into acsetup.cfg by hand, something like "DisableDirectSound=1". If you add that line it should stop winsetup.exe from displaying "Default DirectSound Device" as an option.
Thanks.
#247
Would it be possible to add a command or variable that could be used in a plugin to tell AGS not to initialize its audio engine? The reason I'm asking is because I'm trying to write a DirectMusic plugin and I need to be able to disable the built-in audio engine for it to work.
I know that I can get this system working if there were just a way to turn off the built-in audio. At the moment, sometimes on my PC the AGS audio system fails to initialize. When this happens I can get a sound/midi loaded into DirectMusic and played back correctly. The rest of the time it fails to playback (with a "DMUS_E_NO_MASTER_CLOCK" error). So I know I'm on the right track, just need to be able to turn off the built-in audio system.

A little info on DirectMusic for anyone interested. It's part of DirectX which is installed on all Windows PCs. What makes it interesting to me is DirectMusic Producer, probably the most advanced interactive audio content creation tool around. If you were at all impressed with the music in all the LucasArts games with their iMUSE engine, well you can re-create all those cool transitions and effects with this. And then some. It's also free to download from Microsoft.
You can read more about it at these sites:
http://www.musicmachines.net/faqdm.htm
http://www.iasig.org/pubs/industry/dmpmass.shtml
http://msdn.microsoft.com/library/en-us/dmusprod/htm/directmusicproducer.asp



EDIT:
DUH! I can't believe how stupid I can be sometimes. All I needed to do was run winsetup and disable sound there  ::). Anway, I've got my plugin loading DirectMusic scripts and calling routines, so it's pretty close to finished. I'm just going to put together a little demo using it, then release it all sometime in the next few days  ;D.
#248
Advanced Technical Forum / Re:Odd midi problem
Sat 24/04/2004 15:53:33
"All Controllers off"? I didn't even notice that one existed.
That probably would of worked too. Yes, I think just adding command 121 when a track finishes would fix these problems.

But... personally, I'd rather not have any commands automatically sent when I stop a song. If you deliberately set up an intro followed by a main loop using PlayMusicQueued or if you switch files using SeekMIDIPos, having automatic commands sent to turn everything off and reset controllers makes the transition less smooth. I don't know, maybe if you could add a system variable that could be turned off if you don't want reset commands sent after each MIDI song?
#249
Big Rigs: Over the Road Racing
#250
Advanced Technical Forum / Re:Odd midi problem
Fri 23/04/2004 07:35:43
OK, the interior music (music6.mid) is doing some tricky stuff with a "sustain" controller. This must be what needs to be reset.
I've edited the exterior music so it resets the sustain controller on each channel, I'm pretty sure it should fix it this time:
http://members.iinet.net.au/~snderson/music2-sustainreset.MID

And here's also an updated version of the reset MIDI that now resets sustain controllers as well, if anyone needs it:
http://www.2dadventure.com/ags/reset4.mid

Damn MIDI can be a pain in the butt sometimes  ::)
#251
Advanced Technical Forum / Re:Odd midi problem
Thu 22/04/2004 13:44:04
I tried it out and it's doing that for me also in the second room. You could post the two MIDI files if you like, there might be some weird controller being used in there.

I'd change the code to this, so it doesn't pause the game while the first MIDI plays. Doubt it will fix things though:

StopMusic();
SetMusicRepeat(0);
PlayMusicQueued(7);
SetMusicRepeat(1);
PlayMusicQueued(2);
#252
Quote from: Haddas on Wed 21/04/2004 16:20:19
To take teens away from harm would be to put them in a padded cell. They would probably sniff their underwear then

I think Haddas has touched on a MUCH more important issue than drugs here -

UNDERWEAR SNIFFING: Harmless fun or dangerous social menace? You decide!
#253
Advanced Technical Forum / Re:Odd midi problem
Thu 22/04/2004 06:24:50
OK, sounds like a stuck note. Every MIDI command  has a "note on" event followed by a "note off" event. If you're unlucky enough, the "note off" gets lost somehow and you get a stuck note. So I added "all notes off" controllers to the reset MIDI.

Third time lucky: http://members.iinet.net.au/~snderson/reset3.MID
#254
Advanced Technical Forum / Re:Odd midi problem
Thu 22/04/2004 01:46:37
Quote from: Dave Gilbert on Wed 21/04/2004 16:37:42
Thanks.  I'll give it a go when I get home.

Just for my own curiousity, could you tell me what this file is?  Is it just a "silent" midi file?  What does it do, exactly, that solves the problem?
Sure, the first one was just something I found on the web, all it contains is an instruction that tells your MIDI synth to reset itself. The second one I made used the reset instruction from the first file along with individual commands to set each channel's reverb, chorus and pitch bend to 0.
You said it sounded like it was "reverberating." If that didn't fix it, I don't really know anything else you could do.
The main problem I've had with MIDI playback in AGS was with the timing going wonky. To fix this I lowered the ticks resolution on the files.
To do this I loaded the files into a freeware sequencer I found called Jazz++. Then clicked "Settings: Song" and set "ticks per quarter note" to the lowest setting and re-saved the file. Since you're problem is to do with a reverb effect, this probably won't help you at all.
#256
Advanced Technical Forum / Re:Odd midi problem
Wed 21/04/2004 11:27:36
You could try playing this after the troublesome file:
http://www.midihaven.addr.com/midi/gm_reset.mid
#257
Music
Looking to do some music for games. Composed music for Razors In The Night, currently writing music for Shadowplay. I'm also studying a diploma in music (technical production) at the moment.
I've recently written a plugin for AGS that allows me to create interactive soundtracks, similar to what you would hear in the classic LucasArts games with their iMUSE system.
#258
General Discussion / Re:Music Making
Fri 16/04/2004 13:18:59
Logic for General MIDI files.
Reason and Nuendo for digital (mp3/ogg).
#259
Did anyone notice the music in Razors in the Night? I tried to make the music as interactive as possible with AGS. I was fairly proud of it on a technical level, even if no-one actually seemed to pay any attention or like it.

The usefull code bits:

Instantly switch to another track at the same position:
    iPos=GetMIDIPosition();
    StopMusic();
    PlayMusicQueued(24);
    SeekMIDIPosition(iPos);

Looping music with an intro. Need two tracks, one with the intro, one with the main loop. This can also easily be adapted to create endings and transitions. This is used in Razors for the little drum fill intro that plays whenever the street music starts.
      StopMusic();
      SetMusicRepeat(0);
      PlayMusic(50);
      SetMusicRepeat(1);
      PlayMusicQueued(51);

Beyond that it's just using a lot of "if (GetCurrentMusic==X)" type code to make things smarter. I'll post the full source code if anyone's interested.

EDIT: About iMuse, from what I understand it isn't just about music playback - it's a complete sequencer / audio program, something a bit like Microsoft's DirectMusic. To get truly interactive music in AGS games, maybe a DirectMusic plug-in would be the best way to go.
#260
Wow :o nice graphics.
SMF spam blocked by CleanTalk