Commit Graph

45 Commits

Author SHA1 Message Date
Willem Jan Palenstijn
13a242838f SCI/new music code: Don't stop notes when looping for a hold
svn-id: r46897
2010-01-02 20:20:36 +00:00
Johannes Schickel
5fa38662e2 Whoops. Fix accidently wrong evaluation statement.
svn-id: r35337
2008-12-13 12:56:53 +00:00
Johannes Schickel
223a57a563 Cleanup.
svn-id: r35336
2008-12-13 12:45:53 +00:00
Johannes Schickel
9555ea8bc9 Fix for bug #2423449 "AGOS: Music Looping broken (regression)".
svn-id: r35335
2008-12-13 12:31:39 +00:00
Johannes Schickel
893a79b01d Initial version of proper MIDI support for KYRA.
svn-id: r35174
2008-11-30 01:53:32 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Filippos Karapetis
99a5545702 Reverted commit #28696, as the cause for it was different and has been fixed with commit #28697
svn-id: r28699
2007-08-22 22:43:47 +00:00
Filippos Karapetis
532c8c4230 Detach the player callback handler when the music is being unloaded. Fixes bug #1734416 - "AUDIO: ITE: Random crashes with the MIDI parser"
svn-id: r28696
2007-08-22 12:20:21 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
4db72c8762 Unified how we deal with (and how we generate) MIDI sysex messages -- in particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class)
svn-id: r25630
2007-02-16 13:30:41 +00:00
Max Horn
406703148f Change CVS keywords to SVN keywords
svn-id: r20515
2006-02-11 10:05:31 +00:00
Eugene Sandulenko
ea42bad781 Update copyright notice
svn-id: r20088
2006-01-18 17:39:49 +00:00
Eugene Sandulenko
b36677af71 Update FSF address. Eek. Actually that took place on May 1, 2005
svn-id: r19142
2005-10-18 01:30:26 +00:00
Torbjörn Andersson
744a01b449 Looks like my pitch wheel change still has the ability to break things. See
bug #1324103.

I've changed it - again - so that now it only centers the pitch wheels on
unload if a new mpCenterPitchWheelOnUnload property has been set. Currently
only the SAGA engine does that, so if it still breaks it only breaks SAGA.

I've also fixed what looked like an unintentional fall-through in the
MidiParser::property() function. Surently that can't cause any new
regressions? Please.

svn-id: r19032
2005-10-12 06:57:25 +00:00
Torbjörn Andersson
bb14140ca7 Moved the pitch wheel centering to unloadMusic() instead, since having it
in allNotesOff() broke the Kyra music. I have no idea why.

svn-id: r19023
2005-10-11 17:48:16 +00:00
Torbjörn Andersson
abb9ee416f Removed the "reset all controllers" message. It currently breaks on Adlib,
and I don't want to have to worry about it. Centering the pitch wheel is
the change that I primarily wanted to make, and that should be supported by
every MIDI driver we have.

svn-id: r18999
2005-10-10 09:31:27 +00:00
Torbjörn Andersson
5b92d1e9fa I noticed yesterday that if you change music in IHNM at the "right" moment,
the music will be horribly out of tune because the pitch wheel setting from
the old music will still apply.

I hope allNotesOff() is the correct place to ensure that the pitch wheel is
centered.

svn-id: r18998
2005-10-10 07:00:31 +00:00
Torbjörn Andersson
40236ee7c1 For consistency, specify directory when including files.
svn-id: r18454
2005-06-24 16:16:46 +00:00
Max Horn
8b1d7b9166 When including files from common/, explicitly use the common/ prefix
svn-id: r18444
2005-06-24 15:23:51 +00:00
Torbjörn Andersson
eeab93cf09 More whitespace changes.
svn-id: r18273
2005-05-27 12:43:19 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
James Brown
4aa5649c1e Erm, this was never meant to be commited. I might as well leave the .h change for now, until kyra is investigated further.
svn-id: r15788
2004-11-11 14:19:38 +00:00
James Brown
cb4b3c1f7e Prevent infinite loop by displaying the launcher after a game start FAILURE too.
svn-id: r15787
2004-11-11 14:01:11 +00:00
Torbjörn Andersson
6dc0191e03 Make allNotesOff() also turn off all "hanging notes". Without this change,
I wasn't able to fully stop ITE's XMIDI music - there would always be a
couple of notes hanging even after unloading it. Apparently this music
doesn't use the "active notes" mechanism at all, and I guess the ALSA
driver doesn't support the "All Note Off" event.

I'm still not 100% sure this is the correct fix, but unless someone has any
better idea...

svn-id: r13910
2004-05-31 08:51:10 +00:00
Torbjörn Andersson
a0623e6012 Changed printf() to warning(). (Even in the case where the message used to
say "ERROR".)

svn-id: r13677
2004-04-29 11:57:25 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
3472e93051 explicitly turn off all active sounds -> not all MIDI devices support the 'All note off' event, at least according to http://crystal.apana.org.au/ghansper/midi_introduction/midi_channel_mode.html ; and now, the quicktime MIDI code doesn't support it anymore, too ;-)
svn-id: r11885
2003-12-24 12:54:33 +00:00
Paweł Kołodziejski
1f99fbe77c cleanup whitespaces
svn-id: r11221
2003-11-08 23:05:04 +00:00
Jamieson Christian
93c90f4674 Fix for Bug [780924] IMUSE: Pitchbend isn't reset when changing tracks
When scanning (not jumping) to a target location
in a different track, the current track is first
scanned to the end to update the player state
before starting into the new track.

Miscellaneous scan-related cleanup is included.

svn-id: r9589
2003-08-07 23:42:15 +00:00
Jamieson Christian
7c16006cc7 Fix for RC bug [780675] MI2: Reoccuring crash
Tightened up OOB track selection handling in
MidiParser. Apparently some SMFs in the Mac
version of MI2 (and other games?) specify
track -1 in their jump commands to indicate
a jump within the same track.

svn-id: r9321
2003-07-31 06:50:13 +00:00
Jamieson Christian
be898b414f For for Bug [775654] DOTT: Hanging notes
Corrected active notes tracking when switching
between Type 2 SMF tracks. Although Note Off
events from the previous track are properly
simulated, those sustaining notes are cleared
from the active notes list so that jumps
within the new track will not attempt to
sustain them again.

svn-id: r9194
2003-07-26 19:37:54 +00:00
Jamieson Christian
4ac4d76718 Fix for Bug [766426]: V5 Games: Adlib SFX not looped
Modified Smart Jump logic to deal with active notes
whose Note On and Note Off events BOTH occur OUTSIDE
the range of the jump. While this is not a thorough
way to deal with Note On events that occur outside
jump points, it at least deals with the issue of
long, unchanging Adlib SFX used by some earlier
SCUMM games.

svn-id: r8892
2003-07-10 04:34:44 +00:00
Marcus Comstedt
2aed2d9284 Use stdafx.h instead of manually including system headers.
svn-id: r8541
2003-06-18 21:10:05 +00:00
Jamieson Christian
42f6d10581 Fixed hanging notes on Smart Jump when Note Off event cannot be found.
(I'm not sure why the Note Off would not be found,
but at least we're properly dealing with such notes now.)

svn-id: r8250
2003-06-01 18:24:10 +00:00
Jamieson Christian
11e59488ef Fixed occassional music crashes when loading games.
Thanks to eriktorbjorn for finding this issue.

svn-id: r7959
2003-05-25 15:47:06 +00:00
Jamieson Christian
f8e9e55fba allNotesOff() now sends to all 16 channels, not just the first 15. Duh.
svn-id: r7899
2003-05-24 19:11:49 +00:00
Jamieson Christian
982883c637 Fixed problem with hanging notes on some synth modules.
Various little MidiParser fixes.

svn-id: r7863
2003-05-23 15:04:41 +00:00
Jamieson Christian
0be2b4673c Removed annoying warning
svn-id: r7851
2003-05-23 04:35:50 +00:00
Jamieson Christian
08b5337b20 Fixed gcc warning
svn-id: r7850
2003-05-23 04:30:50 +00:00
Jamieson Christian
c6568530bd Revamped iMuse and Player classes. Player now uses MidiParser to parse its data, which will allow it to parse other MIDI formats. To receive parsed data, Player now derives from MidiDriver to act as a "fake MIDI driver".
Miscellaneous upgrades and fixes to MidiParser, including the Smart Jump (which could not be tested before iMuse started making use of the MidiParser).

*** THIS IS A BIG UPGRADE! EXTENSIVE REGRESSION TESTING IS NEEDED! ***

This has been tested through the intros and a number of other scenes from MI2, FOA and S&M.

NOTE! This upgrade introduces savegame format version V19. Earlier version savegames will load, but the music will simply start over from the beginning. Only V19 and later games will properly restore the position of the music! Don't say you weren't warned....

svn-id: r7849
2003-05-23 04:19:47 +00:00
Jamieson Christian
1918dc555f Added "smart-jump" capability to MidiParser.
svn-id: r7831
2003-05-22 15:34:30 +00:00
Jamieson Christian
622e3578b4 More Simon music fixes
svn-id: r7769
2003-05-21 06:14:14 +00:00
Jamieson Christian
a768deb83f Simon music fixes
svn-id: r7744
2003-05-20 16:43:53 +00:00
Jamieson Christian
996614936a Fixed anonymous structs warning.
svn-id: r7696
2003-05-19 19:24:22 +00:00
Jamieson Christian
3dc788da63 Moved common parsing logic into MidiParser base class.
Added auto-loop capability.

svn-id: r7692
2003-05-19 18:48:18 +00:00