180 Commits

Author SHA1 Message Date
dhewg
0e6cdfd675 ANDROID: Experimental MIDI Driver
Based on the SONiVOX® Embedded Audio Synthesis (EAS™) library, which is
part of the base Android OS.

CPU stats (Cortex A8 1GHz, monkey1 intro, peak values):
MAME OPL: 30%
DosBox OPL: 26%
EAS: 19%
2011-03-25 14:43:52 +01:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Yotam Barnoy
c4095aabc5 PLUGINS: for uncached plugins, first check the loaded plugin before looking elsewhere
There are some calls to EngineManager::findGame() from within games, such as when loading saved games. It's critical not to unload the plugin from memory or other threads may crash. Therefore, we first scan using any plugin that's already in memory.

svn-id: r55089
2011-01-02 10:08:02 +00:00
Yotam Barnoy
7558331550 PLUGINS: rename ONE_PLUGIN_AT_A_TIME define to UNCACHED_PLUGINS
ONE_PLUGIN_AT_A_TIME is too long.

svn-id: r55064
2010-12-30 08:01:58 +00:00
Florian Kagerer
5e88223e8e PLUGINS: fixed MSVC build
svn-id: r55062
2010-12-29 15:37:57 +00:00
Yotam Barnoy
8f36a5f887 PLUGINS: single plugin model now saves plugin filename to config file
After searching for the right plugin once, the filename will be saved to the config file under the domain 'plugin_files'. The key is the gameid and the value is the plugin file. The backup mechanism is searching plugin by plugin.

svn-id: r55061
2010-12-29 15:25:21 +00:00
Yotam Barnoy
ee2b1092ab PLUGINS: switched plugin manager to inheritance rather than #defines
The reason for this was that I found issues where the wrong functions were called in EngineManager for single plugin operation. Rather than inserting more messy #defines, I preferred to change the PluginManager to use virtual functions, which also makes EngineManager simpler.

svn-id: r55024
2010-12-23 13:38:37 +00:00
Yotam Barnoy
81dd62f3cb PLUGINS: don't fully load each plugins at startup for single plugin method
The reason to load each plugin was to figure out if it's a sound or engine plugin. Since all our plugin files are currently engines, there's no reason to load every file. If we get dynamic sound plugins, it'd be a good idea to make a quick and easy way to know which kind of plugin it is (e.g. a prefix or suffix in the filename).

svn-id: r55021
2010-12-23 07:54:54 +00:00
Max Horn
abe1959d36 COMMON: Simplify DECLARE_SINGLETON macro
This makes it possible to write
  DECLARE_SINGLETON(foo);
instead of
  DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.

svn-id: r54258
2010-11-16 08:23:13 +00:00
Yotam Barnoy
a6bee87990 PLUGINS: improved one-at-a-time plugin code
I reduced memory fragmentation using 2 principles: Plugins should be loaded for as little time as possible, and long lasting memory allocations should be allocated before plugins are loaded. There might still be a little fragmentation left.
Note that command line settings that require plugins to be loaded don't work yet, but they didn't work (properly) before either.

svn-id: r54097
2010-11-05 13:24:57 +00:00
Yotam Barnoy
94c8d0a14d Updated with latest from trunk
svn-id: r53976
2010-10-31 11:08:43 +00:00
Eugene Sandulenko
937cf6cd7a CONFIGURE: Plug in Last Express engine
svn-id: r53580
2010-10-18 19:18:06 +00:00
Johannes Schickel
3b81a9489e SOUND: Allow TiMidity support to be disabled via configure.
svn-id: r53395
2010-10-13 00:48:40 +00:00
Eugene Sandulenko
dbde2e46e3 SWORD25: Added detection of libtheora, png an dplugged in the engine
svn-id: r53169
2010-10-12 21:12:50 +00:00
Eugene Sandulenko
cf82bef02e TOON: Merged Toon engine to ScummVM trunk
svn-id: r53087
2010-10-08 22:30:39 +00:00
Johannes Schickel
d477d66f49 SOUND: Properly add CMS as plugin.
svn-id: r52779
2010-09-17 20:02:29 +00:00
Andre Heider
76ca653972 PLUGINS: Don't expect every plugin to load.
svn-id: r52729
2010-09-15 07:43:34 +00:00
Eugene Sandulenko
74118a7087 TESTBED: Merge gsoc2010-testbed branch
svn-id: r52681
2010-09-12 08:08:37 +00:00
Andre Heider
09834b8bec MERGE: Merge trunk to branch.
svn-id: r52564
2010-09-05 15:26:00 +00:00
Max Horn
f27b984fec Fix warning & code formatting
svn-id: r52202
2010-08-19 08:46:19 +00:00
Eugene Sandulenko
06960d33e1 HUGO: Adding engine to the main tree
svn-id: r52137
2010-08-17 09:28:20 +00:00
Tony Puccinelli
34b5eb3ba3 added a todo to plugins.cpp and a comment to elf32.h; Collapsed plugin providers for a few ports into their .h files, removing the corresponding .cpp files
svn-id: r52112
2010-08-16 08:41:04 +00:00
Tony Puccinelli
43488f789f Ensured getPlugins is not called multiple times on Static Plugin Provider with 'ONE_PLUGIN_AT_A_TIME' defined
svn-id: r52080
2010-08-14 08:04:40 +00:00
Tony Puccinelli
2cd99b449f refactored NEW_PLUGIN_DESIGN_FIRST_REFINEMENT define into ONE_PLUGIN_AT_A_TIME
svn-id: r52058
2010-08-13 05:58:11 +00:00
Tony Puccinelli
139a96182d modified DS makefile to use new plugin design where only one plugin is loaded at a time and tested successfully on the DS. Added code to prevent a crash in the case where there are no engine plugins present. Removed code for R_ARM_TARGET1 in arm-loader, as it is no longer used and was never used successfully
svn-id: r52052
2010-08-12 23:55:12 +00:00
Tony Puccinelli
cb3acc96ef got rid of leftover debugging printf
svn-id: r52027
2010-08-12 06:16:53 +00:00
Tony Puccinelli
89d76fe5a5 Refined first refinement of new plugin design. Tested successfully adding/removing/running games on Linux with only one engine plugin loaded at a time
svn-id: r52026
2010-08-12 06:00:19 +00:00
Eugene Sandulenko
ff8b296c29 Use tabs instead of spaces for indentation.
svn-id: r51997
2010-08-11 19:32:07 +00:00
Florian Kagerer
4a159bcb1e GUI: add music devices for c64, amiga and apple II gs
These devices are not able to create appropriate drivers.
The only purpose for now is having proper gui options and flags and music types for the device detector.
The corresponding GUIO flags for the new devices have been added, too.

svn-id: r51995
2010-08-11 18:54:56 +00:00
Tony Puccinelli
682807f0e9 merged trunk into branch, reverted Cruise Singleton changes
svn-id: r51961
2010-08-10 23:21:08 +00:00
Neeraj Kumar
7e126ed299 TESTBED: Merged changes from trunk to my branch
svn-id: r51798
2010-08-06 20:13:41 +00:00
Tony Puccinelli
56dd82d02c removed unneccessary call to 'unloadPlugins'
svn-id: r51747
2010-08-05 00:28:22 +00:00
Tony Puccinelli
66b42d486b added intermediary function 'findGameOnePlugAtATime' and switched load game and run game code to use it. Added checks for DYNAMIC_MODULES defines to the checks for NEW_PLUGIN_DESIGN_FIRST_REFINEMENT
svn-id: r51746
2010-08-05 00:26:46 +00:00
Tony Puccinelli
d889a706f2 gave plugin iterators more appropriate names, removed debugging printf, added comments to loadFirstPlugin and loadNextPlugin
svn-id: r51673
2010-08-03 01:10:36 +00:00
Tony Puccinelli
44d7414215 changed plugins so games can be added in the launcher with only one plugin loaded into memory at a time (first refinement)
svn-id: r51607
2010-08-02 08:43:47 +00:00
Tony Puccinelli
869e49d185 initial work on plugin design changes (already added games can be launched with only one plugin loaded at a time if you compile with a 'NEW_PLUGIN_DESIGN_FIRST_REFINEMENT' flag)
svn-id: r51502
2010-07-30 09:32:45 +00:00
Max Horn
37aa8a7499 BUILD: Unify adding -DUNIX to DEFINES; complete SEQ MIDI detection
* Added a yes/no variable _unix to configure, which controls when
  -DUNIX is added to DEFINES
* Enable SEQ MIDI via _seq_midi by default on UNIX type systems,
  except for those which override that.
* Switch SEQ MIDI code to check #define USE_SEQ_MIDI
  (alternatively, we could compile it only conditionally...)

svn-id: r51055
2010-07-20 08:25:13 +00:00
Max Horn
211fcfe7ba MIDI: Build and use ALSA driver if and only if USE_ALSA is defined
svn-id: r51053
2010-07-20 08:24:34 +00:00
Max Horn
0b48a71c99 Remove PalmOS port
svn-id: r50964
2010-07-17 18:41:38 +00:00
Angus Lees
bb300ec671 Skip /dev/sequencer MIDI on Android.
svn-id: r50664
2010-07-05 00:09:41 +00:00
Florian Kagerer
46ec88f74d GUI/LAUNCHER: This should fix the regression concerning pc speaker / pcjr support caused by patch #1956501
svn-id: r50145
2010-06-22 15:30:41 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Neeraj Kumar
babf7ef44c added the testbed engine: basically renamed quux
svn-id: r49188
2010-05-24 14:54:50 +00:00
Johannes Schickel
40562798d6 Fix our DECLARE_SINGLETON macro to conform to the C++ specs.
We need to use a namespace Common { } there to make strict C++ compilers
like clang++ and comeau happy. I also added a slight comment about why
that is needed to the macro definition and a note that you need to use
it from the global namespace.

svn-id: r48254
2010-03-13 21:55:49 +00:00
Torbjörn Andersson
1928a7ba38 Silenced some cppcheck warnings.
svn-id: r47427
2010-01-21 23:05:33 +00:00
Eugene Sandulenko
fb8ecae7f1 Add Mohawk engine code. Part 2/3: common code changes.
svn-id: r46728
2009-12-29 23:20:23 +00:00
Max Horn
81762edf33 Remove Igor engine
svn-id: r45898
2009-11-14 13:11:06 +00:00
Jordi Vilalta Prat
a41292a92f Move Draci's entry to make the plugins list sorted alphabetically
svn-id: r45258
2009-10-20 10:35:49 +00:00
Max Horn
76132409d6 Removed Mac OS X QuickTime MIDI backend. It breaks on OS X 10.6, and it's not as good as the CoreAudio backend anyway
svn-id: r44428
2009-09-27 22:43:32 +00:00
Robert Špalek
94b823fcc7 MERGE branch gsoc2009-draci 41388:44325 into trunk
svn-id: r44326
2009-09-25 06:22:54 +00:00