CHANGES
author Ryan C. Gordon <icculus@icculus.org>
Tue, 16 Feb 2010 15:30:47 +0000
changeset 485 e2c905c12312
parent 481 286c27f54ea1
child 494 4f4caf04bcd1
permissions -rw-r--r--
Win64 fixes (cast to DWORD_PTR instead of DWORD). Patch by Ozkan Sezer.

Fixes Bugzilla #951.
slouken@481
     1
1.2.12:
slouken@481
     2
Jon Atkins - Sat Nov 14 13:00:18 PST 2009
slouken@481
     3
 * Added support for libmodplug (disabled by default)
slouken@481
     4
slouken@476
     5
1.2.11:
slouken@478
     6
Sam Lantinga - Sat Nov 14 12:38:01 PST 2009
slouken@479
     7
 * Fixed initialization error and crashes if MikMod library isn't available
slouken@476
     8
Sam Lantinga - Sat Nov 14 11:22:14 PST 2009
slouken@476
     9
 * Fixed bug loading multiple music files
slouken@476
    10
slouken@469
    11
1.2.10:
slouken@470
    12
Sam Lantinga - Sun Nov  8 08:34:48 PST 2009
slouken@470
    13
 * Added Mix_Init()/Mix_Quit() to prevent constantly loading and unloading DLLs
slouken@469
    14
Mike Frysinger - 2009-11-05 09:11:43 PST
slouken@469
    15
 * Check for fork/vfork on any platform, don't just assume it on UNIX
slouken@469
    16
Jon Atkins - Thu Nov 5 00:02:50 2009 UTC
slouken@469
    17
 * Fixed export of Mix_GetNumChunkDecoders() and Mix_GetNumMusicDecoders()
slouken@469
    18
C.W. Betts - 2009-11-02 00:16:21 PST
slouken@469
    19
 * Use newer MIDI API on Mac OS X 10.5+
slouken@469
    20
slouken@381
    21
1.2.9:
slouken@460
    22
Ryan Gordon - Sun Oct 18 11:42:31 PDT 2009
slouken@460
    23
 * Updated native MIDI support on Mac OS X for 10.6
slouken@446
    24
Ryan Gordon - Sun Oct 11 05:29:55 2009 UTC
slouken@446
    25
 * Reset channel volumes after a fade out interrupts a fade in.
slouken@446
    26
Ryan Gordon - Sun Oct 11 02:59:12 2009 UTC
slouken@446
    27
 * Fixed crash race condition with position audio functions
slouken@446
    28
Ryan Gordon - Sat Oct 10 17:05:45 2009 UTC
slouken@446
    29
 * Fixed stereo panning in 8-bit mode
slouken@446
    30
Sam Lantinga - Sat Oct 10 11:07:15 2009 UTC
slouken@446
    31
 * Added /usr/share/timidity to the default timidity.cfg locations
slouken@419
    32
Sam Lantinga - Sat Oct  3 13:33:36 PDT 2009
slouken@419
    33
 * MOD support uses libmikmod and is dynamically loaded by default
slouken@428
    34
 * A patched version of libmikmod is included in libmikmod-3.1.12.zip
slouken@446
    35
 * The libmikmod patches fix security issues CVE-2007-6720 and CVE-2009-0179.
slouken@416
    36
Sam Lantinga - Sat Oct  3 02:49:41 PDT 2009
slouken@416
    37
 * Added TIMIDITY_CFG environment variable to fully locate timidity.cfg
slouken@407
    38
Sam Lantinga - Fri Oct  2 07:15:35 PDT 2009
slouken@407
    39
 * Implemented seamless looping for music playback
slouken@398
    40
Forrest Voight - 2009-06-13 20:31:38 PDT
slouken@398
    41
 * ID3 files are now recognized as MP3 format
slouken@429
    42
Steven Noonan - 2008-05-13 13:31:36 PDT
slouken@429
    43
 * Fixed native MIDI crash on 64-bit Windows
slouken@429
    44
Ryan Gordon - Fri Jun 5 16:07:08 2009 UTC
slouken@429
    45
 * Added decoder enumeration API:
slouken@429
    46
	Mix_GetNumChunkDecoders(), Mix_GetChunkDecoder(),
slouken@429
    47
	Mix_GetNumMusicDecoders(), Mix_GetMusicDecoder()
slouken@382
    48
Austen Dicken - Tue Feb 26 23:28:27 PST 2008
slouken@382
    49
 * Added support for FLAC audio both as chunks and streaming
slouken@381
    50
Tilman Sauerbeck - Tue Feb 26 03:44:47 PST 2008
slouken@381
    51
 * Added support for streaming WAV files with Mix_LoadMUS_RW()
slouken@387
    52
Ryan Gordon - Mon Feb 4 17:10:08 UTC 2008
slouken@387
    53
 * Fixed crash caused by not resetting position_channels
slouken@381
    54
slouken@348
    55
1.2.8:
slouken@368
    56
Sam Lantinga - Wed Jul 18 09:45:54 PDT 2007
slouken@368
    57
 * Improved detection of Ogg Vorbis and Tremor libraries
icculus@362
    58
Ryan Gordon - Sun Jul 15 12:03:54 EDT 2007
icculus@362
    59
 * Fixed memory leaks in Effects API.
slouken@357
    60
David Rose - Sat Jul 14 22:16:09 PDT 2007
slouken@357
    61
 * Added support for MP3 playback with libmad (for GPL projects only!)
slouken@356
    62
Sam Lantinga - Sat Jul 14 21:39:30 PDT 2007
slouken@356
    63
 * Fixed the final loop of audio samples of a certain size
slouken@354
    64
Sam Lantinga - Sat Jul 14 21:05:09 PDT 2007
slouken@354
    65
 * Fixed opening Ogg Vorbis files using different C runtimes on Windows
slouken@353
    66
Philippe Simons - Sat Jul 14 20:33:17 PDT 2007
slouken@353
    67
 * Added support for Ogg Vorbis playback with Tremor (an integer decoder)
slouken@348
    68
Sam Lantinga - Sat Jul 14 07:02:09 PDT 2007
slouken@348
    69
 * Fixed memory corruption in timidity resampling code
icculus@358
    70
Ryan Gordon - Tue Jul 3 10:44:29 2007 UTC
slouken@350
    71
 * Fixed building SDL_mixer with SDL 1.3 pre-release
icculus@358
    72
Ryan Gordon - Tue Feb 13 08:11:54 2007 UTC
slouken@350
    73
 * Fixed compiling both timidity and native midi in the same build
slouken@350
    74
Hans de Goede - Sun Aug 20 23:25:46 2006 UTC
slouken@350
    75
 * Added volume control to playmus
slouken@350
    76
Jonathan Atkins - Thu Aug 10 15:06:40 2006 UTC
slouken@350
    77
 * Fixed linking with system libmikmod
slouken@350
    78
David Ergo - Fri Jun 23 09:07:19 2006 UTC
slouken@350
    79
 * Corrected no-op conditions in SetDistance(), SetPanning() and SetPosition()
slouken@350
    80
 * Fixed copy/paste errors in channel amplitudes
slouken@348
    81
slouken@255
    82
1.2.7:
slouken@313
    83
Sam Lantinga - Fri May 12 00:04:32 PDT 2006
slouken@313
    84
 * Added support for dynamically loading SMPEG library
slouken@312
    85
Sam Lantinga - Thu May 11 22:22:43 PDT 2006
slouken@312
    86
 * Added support for dynamically loading Ogg Vorbis library
slouken@294
    87
Sam Lantinga - Sun Apr 30 09:01:44 PDT 2006
slouken@294
    88
 * Removed automake dependency, to allow Universal binaries on Mac OS X
slouken@294
    89
 * Added gcc-fat.sh for generating Universal binaries on Mac OS X
slouken@293
    90
Sam Lantinga - Sun Apr 30 01:48:40 PDT 2006
slouken@293
    91
 * Updated libtool support to version 1.5.22
patmandin@275
    92
Patrice Mandin - Sat Jul 16 16:43:24 UTC 2005
patmandin@275
    93
 * Use SDL_RWops also for native midi mac and win32
patmandin@270
    94
Patrice Mandin - Sat Jul 9 14:40:09 UTC 2005
patmandin@270
    95
 * Use SDL_RWops also for native midi gpl (todo: mac and win32)
icculus@268
    96
Ryan C. Gordon - Sat Jul  9 01:54:03 EDT 2005
icculus@268
    97
 * Tweaked Mix_Chunk's definition to make predeclaration easier.
patmandin@266
    98
Patrice Mandin - Mon Jul 4 19:45:40 UTC 2005
patmandin@266
    99
 * Search timidity.cfg also in /etc
patmandin@266
   100
 * Fix memory leaks in timidity player
patmandin@266
   101
 * Use also SDL_RWops to read midifiles for timidity
icculus@262
   102
Ryan C. Gordon - Mon Jun 13 18:18:12 EDT 2005
icculus@262
   103
 * Patch from Eric Wing to fix native midi compiling on MacOS/x86.
slouken@257
   104
Sam Lantinga - Wed Dec 22 17:14:32 PST 2004
slouken@257
   105
 * Disabled support for the system version of libmikmod by default
slouken@255
   106
Sam Lantinga - Tue Dec 21 09:51:29 PST 2004
slouken@255
   107
 * Fixed building mikmod support on UNIX
slouken@255
   108
 * Always build SDL_RWops music support
slouken@256
   109
 * Added SDL_RWops support for reading MP3 files
slouken@255
   110
slouken@240
   111
1.2.6:
slouken@252
   112
Jonathan Atkins - Wed, 15 Sep 2004 23:26:42 -0500
slouken@252
   113
 * Added support for using the system version of libmikmod
slouken@246
   114
Martin_Storsjö -  Sun, 22 Aug 2004 02:21:14 +0300 (EEST)
slouken@246
   115
 * Added SDL_RWops support for reading Ogg Vorbis files
slouken@245
   116
Greg Lee - Wed, 14 Jul 2004 05:13:14 -1000
slouken@245
   117
 * Added 4 and 6 channel surround sound output support
slouken@245
   118
 * Added support for RMID format MIDI files
slouken@247
   119
 * Improved timidity support (reverb, chorus, Roland & Yamaha sysex dumps, etc.)
slouken@240
   120
Sam Lantinga - Wed Nov 19 00:23:44 PST 2003
slouken@240
   121
 * Updated libtool support for new mingw32 DLL build process
icculus@239
   122
Ryan C. Gordon - Sun Nov  9 23:34:47 EST 2003
icculus@239
   123
 * Patch from Steven Fuller to fix positioning effect on bigendian systems.
slouken@236
   124
Laurent Ganter - Mon, 6 Oct 2003 11:51:33 +0200
slouken@236
   125
 * Fixed bug with MIDI volume in native Windows playback
slouken@226
   126
Andre Leiradella - Fri, 30 May 2003 16:12:03 -0300
slouken@226
   127
 * Added SDL_RWops support for reading MOD files
slouken@225
   128
Kyle Davenport - Sat, 19 Apr 2003 17:13:31 -0500
slouken@225
   129
 * Added .la files to the development RPM, fixing RPM build on RedHat 8
slouken@225
   130
slouken@205
   131
1.2.5:
slouken@223
   132
Darrell Walisser - Tue Mar  4 09:24:01 PST 2003
slouken@223
   133
 * Worked around MacOS X deadlock between CoreAudio and QuickTime
slouken@217
   134
Darrell Walisser - Fri, 14 Feb 2003 20:56:08 -0500
slouken@217
   135
 * Fixed crash in native midi code with files with more than 32 tracks
slouken@216
   136
Marc Le Douarain - Sat, 15 Feb 2003 14:46:41 +0100
slouken@216
   137
 * Added 8SVX format support to the AIFF loader
slouken@214
   138
Sam Lantinga Wed Feb 12 21:03:57 PST 2003
slouken@214
   139
 * Fixed volume control on WAVE music chunks
slouken@212
   140
Ben Nason - Mon, 10 Feb 2003 11:50:27 -0800
slouken@212
   141
 * Fixed volume control on MOD music chunks
slouken@208
   142
Patrice Mandin - Fri, 31 Jan 2003 15:17:30 +0100
slouken@208
   143
 * Added support for the Atari platform
icculus@202
   144
Ryan C. Gordon - Fri Dec 27 10:14:07 EST 2002
icculus@202
   145
 * Patch from Steven Fuller to fix panning effect with 8-bit sounds.
icculus@204
   146
Ryan C. Gordon - Thu Jan  2 12:31:48 EST 2003
icculus@204
   147
 * Patch from guy on 3DRealms forums to fix native win32 midi volume.
icculus@197
   148
Ryan C. Gordon - Wed Oct 30 07:12:06 EST 2002
icculus@197
   149
 * Small, looping music samples should now be able to fade out correctly.
slouken@194
   150
Sam Lantinga - Sun Oct 20 20:52:24 PDT 2002
slouken@194
   151
 * Added shared library support for MacOS X
slouken@194
   152
Pete Shinners - Wed Oct 16 17:10:08 EDT 2002
slouken@194
   153
 * Correctly report an error when using an unknown filetype
slouken@190
   154
Vaclav Slavik - Sun Sep  8 18:57:38 PDT 2002
slouken@190
   155
 * Added support for loading Ogg Vorbis samples as an audio chunk
slouken@188
   156
Martin Storsjö - Tue Jul 16 10:38:12 PDT 2002
slouken@188
   157
 * Fixed to start playing another sample immediately when one finishes
slouken@183
   158
Martin Storsjö - Tue May 28 13:08:29 PDT 2002
slouken@183
   159
 * Fixed a volume bug when calling Mix_HaltChannel() on unused channel
icculus@185
   160
Xavier Wielemans - Wed Jun 12 14:28:14 EDT 2002
icculus@185
   161
 * Fixed volume reset bug at end of channel fade.
icculus@187
   162
Ryan C. Gordon - Wed Jun 26 16:30:59 EDT 2002
icculus@187
   163
 * Mix_LoadMUS() will now accept an MP3 by file extension, instead of relying
icculus@187
   164
    entirely on the magic number.
slouken@172
   165
slouken@172
   166
1.2.4:
slouken@180
   167
Sam Lantinga - Mon May 20 09:11:22 PDT 2002
slouken@180
   168
 * Updated the CodeWarrior project files
slouken@177
   169
Sam Lantinga - Sun May 19 13:46:29 PDT 2002
slouken@177
   170
 * Added a function to query the music format: Mix_GetMusicType()
slouken@177
   171
Sam Lantinga - Sat May 18 12:45:16 PDT 2002
slouken@174
   172
 * Added a function to load audio data from memory: Mix_QuickLoad_RAW()
slouken@173
   173
Sam Lantinga - Thu May 16 11:26:46 PDT 2002
slouken@173
   174
 * Cleaned up threading issues in the music playback code
slouken@172
   175
Ryan Gordon - Thu May  2 21:08:48 PDT 2002
slouken@172
   176
 * Fixed deadlock introduced in the last release
slouken@158
   177
slouken@158
   178
1.2.3:
slouken@165
   179
Sam Lantinga - Sat Apr 13 07:49:47 PDT 2002
slouken@165
   180
 * Updated autogen.sh for new versions of automake
slouken@165
   181
 * Specify the SDL API calling convention (C by default)
slouken@164
   182
Ryan Gordon - Sat Apr 13 07:33:37 PDT 2002
slouken@164
   183
 * Fixed recursive audio lock in the mixing function
slouken@163
   184
jean-julien Filatriau - Sat Mar 23 18:05:37 PST 2002
slouken@163
   185
 * Fixed setting invalid volume when querying mixer and music volumes
slouken@161
   186
Guillaume Cottenceau - Wed Feb 13 15:43:20 PST 2002
slouken@161
   187
 * Implemented Ogg Vorbis stream rewinding
slouken@160
   188
Peter Kutak - Wed Feb 13 10:26:57 PST 2002
slouken@160
   189
 * Added native midi support on Linux, using GPL code
slouken@160
   190
	--enable-music-native-midi-gpl
slouken@158
   191
Pete Shinners - Mon Jan 14 11:31:26 PST 2002
slouken@158
   192
 * Added seek support for MP3 files
slouken@158
   193
Ryan Gordon - Mon Jan 14 11:30:44 PST 2002
slouken@158
   194
 * Sample "finished" callbacks are now always called when a sample is stopped.
slouken@154
   195
slouken@154
   196
1.2.2:
slouken@154
   197
Guillaume Cottenceau - Wed Dec 19 08:59:05 PST 2001
slouken@155
   198
 * Added an API for seeking in music files (implemented for MOD and Ogg music)
slouken@154
   199
	Mix_FadeInMusicPos(), Mix_SetMusicPosition()
slouken@154
   200
 * Exposed the mikmod synchro value for music synchronization
slouken@154
   201
	Mix_SetSynchroValue(), Mix_GetSynchroValue()
slouken@88
   202
slouken@88
   203
1.2.1:
slouken@128
   204
Yi-Huang Han - Wed Oct 24 21:55:47 PDT 2001
slouken@128
   205
 * Fixed MOD music volume when looping
slouken@126
   206
David Hedbor - Thu Oct 18 10:01:41 PDT 2001
slouken@126
   207
 * Stop implicit looping, set fade out and other flags on MOD files
slouken@125
   208
Sam Lantinga - Tue Oct 16 11:17:12 PDT 2001
slouken@125
   209
 * The music file type is now determined by extension as well as magic
slouken@113
   210
Ryan C. Gordon - Tue Sep 11 12:05:54 PDT 2001
slouken@113
   211
 * Reworked playwave.c to make it more useful as a mixer testbed
slouken@113
   212
 * Added a realtime sound effect API to SDL_mixer.h
slouken@113
   213
 * Added the following standard sound effects:
slouken@113
   214
	panning, distance attenuation, basic positional audio, stereo reversal
slouken@113
   215
 * Added API for mixer versioning: Mix_Linked_Version() and MIX_VERSION()
slouken@112
   216
Sam Lantinga - Tue Sep 11 11:48:53 PDT 2001
slouken@112
   217
 * Updated MikMod code to version 3.1.9a
slouken@111
   218
Torbjörn Andersson - Tue Sep 11 11:22:29 PDT 2001
slouken@111
   219
 * Added support for loading AIFF audio chunks
slouken@106
   220
Max Horn - Tue Sep  4 20:38:11 PDT 2001
slouken@106
   221
 * Added native MIDI music support on MacOS and MacOS X
slouken@98
   222
Florian Schulze - Sun Aug 19 14:55:37 PDT 2001
slouken@98
   223
 * Added native MIDI music support on Windows
slouken@97
   224
Sam Lantinga - Sun Aug 19 02:20:55 PDT 2001
slouken@97
   225
 * Added Project Builder projects for building MacOS X framework
slouken@96
   226
Darrell Walisser - Sun Aug 19 00:47:22 PDT 2001
slouken@96
   227
 * Fixed compilation problems with mikmod under MacOS X
slouken@95
   228
Torbjörn Andersson - Sun, 19 Aug 2001 16:03:30
slouken@95
   229
 * Fixed AIFF music playing support
slouken@94
   230
Sam Lantinga - Sat Aug 18 04:14:13 PDT 2001
slouken@94
   231
 * Fixed building Ogg Vorbis support on Windows
slouken@92
   232
Ryan C. Gordon - Thu, 7 Jun 2001 13:15:51
slouken@92
   233
 * Added Mix_ChannelFinished() and Mix_GetChunk()
slouken@91
   234
Ryan C. Gordon - Tue, 5 Jun 2001 11:01:51
slouken@91
   235
 * Added VOC sound file support
slouken@89
   236
Guillaume Cottenceau - Thu May 10 11:17:55 PDT 2001
slouken@89
   237
 * Fixed crashes when API used with audio not initialized
slouken@88
   238
Paul Jenner - Sat, 14 Apr 2001 09:20:38 -0700 (PDT)
slouken@88
   239
 * Added support for building RPM directly from tar archive
slouken@81
   240
slouken@81
   241
1.2.0:
slouken@81
   242
Sam Lantinga - Wed Apr  4 12:42:20 PDT 2001
slouken@81
   243
 * Synchronized release version with SDL 1.2.0
slouken@75
   244
slouken@75
   245
1.1.1:
slouken@75
   246
John Hall - Tue Jan  2 13:46:54 PST 2001
slouken@75
   247
 * Added support to playmus for track switching with Ctrl-C
slouken@75
   248
 * Added support to playmus for multiple command line files
slouken@73
   249
slouken@73
   250
1.1.0:
slouken@73
   251
Sam Lantinga - Wed Nov 29 20:47:13 PST 2000
slouken@73
   252
 * Package specifically for SDL 1.1 (no real reason API-wise, but for clarity)
slouken@68
   253
slouken@68
   254
1.0.7:
slouken@71
   255
Sam Lantinga - Tue Nov  7 10:22:09 PST 2000
slouken@71
   256
 * Fixed hang in mikmod re-initialization
slouken@71
   257
Stephane Peter - Oct 17 13:07:32 PST 2000
slouken@71
   258
 * Fixed music fading
slouken@68
   259
Ray Kelm - Fri, 04 Aug 2000 20:58:00 -0400
slouken@68
   260
 * Added support for cross-compiling Windows DLL from Linux
slouken@59
   261
slouken@59
   262
1.0.6:
slouken@63
   263
Sam Lantinga - Sun Jul  2 14:16:44 PDT 2000
slouken@63
   264
 * Added support for the Ogg Vorbis music format: http://www.vorbis.org/
slouken@62
   265
Darrell Walisser - Wed Jun 28 11:59:40 PDT 2000
slouken@62
   266
 * Added Codewarrior projects for MacOS
slouken@62
   267
Sam Lantinga - Mon Jun 26 12:01:11 PDT 2000
slouken@62
   268
 * Fixed symbol aliasing problem with "channel"
slouken@59
   269
Matt - Wed, 12 Apr 2000 15:36:13 -0700
slouken@59
   270
 * Added SDL_RWops support for mikmod loading (not hooked into music.c yet)
slouken@52
   271
slouken@52
   272
1.0.5:
slouken@52
   273
Paul Furber - Fri Mar  3 14:58:50 PST 2000
slouken@52
   274
 * Fixed MP3 detection with compilers that use signed char datatypes
slouken@41
   275
slouken@41
   276
1.0.4:
slouken@47
   277
Sam Lantinga - Thu Feb 10 19:42:03 PST 2000
slouken@47
   278
 * Ported the base mixer and mikmod libraries to MacOS
slouken@47
   279
Markus Oberhumer - Wed Feb  2 13:16:17 PST 2000
slouken@47
   280
 * Fixed problem with short looping sounds
slouken@47
   281
Sam Lantinga - Tue Feb  1 13:25:44 PST 2000
slouken@47
   282
 * Added Visual C++ project file
slouken@47
   283
Markus Oberhumer - Tue Feb  1 13:23:11 PST 2000
slouken@47
   284
 * Cleaned up code for compiling with Visual C++
slouken@47
   285
 * Don't hang in Mix_HaltMusic() if the music is paused
slouken@47
   286
Sam Lantinga - Fri Jan 28 08:54:56 PST 2000
slouken@47
   287
 * Fixed looping WAVE chunks that are not aligned on sample boundaries
slouken@36
   288
slouken@36
   289
1.0.3:
slouken@47
   290
Sam Lantinga - Mon Jan 17 19:48:09 PST 2000
slouken@47
   291
 * Changed the name of the library from "mixer" to "SDL_mixer"
slouken@47
   292
 * Instead of including "mixer.h", include "SDL_mixer.h",
slouken@47
   293
 * Instead of linking with libmixer.a, link with libSDL_mixer.a
slouken@34
   294
slouken@35
   295
1.0.2:
slouken@47
   296
Sam Lantinga - Fri Jan 14 11:06:56 PST 2000
slouken@47
   297
 * Made the CHANGELOG entries Y2K compliant. :)
slouken@42
   298
MFX -	Updated the mikmod support to MikMod 3.1.8
slouken@42
   299
MFX -	Added Mix_HookMusicFinished() API function
slouken@27
   300
slouken@27
   301
1.0.1:
slouken@27
   302
SOL -	Added a post-mixing callback
slouken@27
   303
SP  -	A few music-related bugfixes
slouken@0
   304
slouken@0
   305
1.0.0:
slouken@0
   306
SOL -   Added autoconf support
slouken@0
   307
SP  -   Added MP3 support using SMPEG
megastep@5
   308
SP  -   Added fading in/out of music and samples
megastep@7
   309
SP  -   Added dynamic allocation of channels
megastep@7
   310
SP  -   Added channel grouping functions
megastep@7
   311
SP  -   Added expiration delay for samples
slouken@0
   312
slouken@0
   313
Initial Key:
slouken@0
   314
SOL - Sam Lantinga (hercules@lokigames.com)
slouken@0
   315
SP  - Stephane Peter (megastep@lokigames.com)
slouken@42
   316
MFX - Markus Oberhumer (markus.oberhumer@jk.uni-linz.ac.at)