Log of /linuxsampler/trunk/src/linuxsampler.cpp
Parent Directory
|
Revision Log
Revision
1908 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 1 18:50:06 2009 UTC
(14 years, 11 months ago)
by
persson
File length: 17419 byte(s)
Diff to
previous 1895
,
to
selected 214
* VST: avoid opening Fantasia more than once for each VST instance
* VST: export main function as "main" on Linux too (fix for energyXT)
* VST: prepare code for multiple output channels
* work-around for missing fnmatch function on Windows to make
instrument database compilable
Revision
1895 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun May 3 12:15:40 2009 UTC
(15 years ago)
by
persson
File length: 17397 byte(s)
Diff to
previous 1888
,
to
selected 214
* fixes for using large audio device buffers
* VST: added support for sample rate and buffer size changes
* VST: close editor (Fantasia) when the VST is removed
* minor fix in configure for mmsystem.h detection on MinGW
* removed warnings from gcc 4.4 and valgrind
Revision
1888 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Apr 18 09:26:45 2009 UTC
(15 years, 1 month ago)
by
persson
File length: 17317 byte(s)
Diff to
previous 1830
,
to
selected 214
* applied old fixes from Benno to the ASIO driver that were included
in the previous binary release but accidentally never committed to
CVS (fixes #117)
Revision
1830 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Jan 31 11:31:41 2009 UTC
(15 years, 3 months ago)
by
schoenebeck
File length: 17296 byte(s)
Diff to
previous 1765
,
to
selected 214
* automatic stacktrace mechanism is now turned off by default and can
be switched on by command line option "--stacktrace" (the automatic
stacktrace mechanism seems to be broken on most systems at the moment)
* bumped version to 0.5.1.9cvs
Revision
1765 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Sep 6 16:44:42 2008 UTC
(15 years, 8 months ago)
by
persson
File length: 16594 byte(s)
Diff to
previous 1644
,
to
selected 214
* refactoring: extracted lscp notification from main() to a separate
function
* added helper function MidiInputPort::DispatchRaw for midi device
implementations with raw byte data
* fixed a win32 build error (atomic.h is working on windows too)
* code cleanup: moved lscp classes into LinuxSampler namespace
Revision
1644 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Jan 19 16:55:03 2008 UTC
(16 years, 4 months ago)
by
persson
File length: 17979 byte(s)
Diff to
previous 1541
,
to
selected 214
* fixed memory leaks that occurred when liblinuxsampler was unloaded
* fixed a memory leak that could happen when a channel was deleted
while notes were playing
* fixed memory management bug in ASIO driver
* optimized the SynchronizedConfig class so it doesn't wait
unnecessarily long after an update
Revision
1541 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 4 18:09:26 2007 UTC
(16 years, 5 months ago)
by
iliev
File length: 18085 byte(s)
Diff to
previous 1534
,
to
selected 214
- Added support for monitoring the total number of active disk streams
(new LSCP commands: GET TOTAL_STREAM_COUNT,
SUBSCRIBE TOTAL_STREAM_COUNT, UNSUBSCRIBE TOTAL_STREAM_COUNT)
Revision
1424 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Oct 14 22:00:17 2007 UTC
(16 years, 7 months ago)
by
schoenebeck
File length: 14856 byte(s)
Diff to
previous 1375
,
to
selected 214
* code cleanup:
- global.h now only covers global definitions that are needed for the C++
API header files, all implementation internal global definitions are now
in global_private.h
- atomic.h is not exposed to the C++ API anymore (replaced the references
in SynchronizedConfig.h for this with local definitions)
- no need to include config.h anymore for using LS's API header files
- DB instruments classes are not exposed to the C++ API
- POSIX callback functions of Thread.h are hidden
- the (optional) gig Engine benchmark compiles again
- updated Doxyfile.in
- fixed warnings in API doc generation
* preparations for release 0.5.0
Revision
1375 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 3 18:41:09 2007 UTC
(16 years, 7 months ago)
by
schoenebeck
File length: 14821 byte(s)
Diff to
previous 1364
,
to
selected 214
* code refactoring, moved the following files from
src/engines/ -> src/plugins/ :
InstrumentEditor.h ,
InstrumentEditor.cpp ,
InstrumentEditorFactory.h ,
InstrumentEditorFactory.cpp
Revision
1364 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 1 13:38:37 2007 UTC
(16 years, 7 months ago)
by
schoenebeck
File length: 14821 byte(s)
Diff to
previous 1297
,
to
selected 214
* fixed egoistic --instruments-db-location command line switch ;-)
which caused all subsequent command line switches to be ignored
* the default location of the instruments DB file can now be overridden
with ./configure --enable-default-instruments-db-location=/foo/bar.db
* instruments DB feature can be disabled at compile time with
./configure --disable-instruments-db (i.e. for cross compilation)
* in case instruments DB feature is disable at compile time, don't
actually compile the instruments DB source files and don't install the
instruments DB API header files either
Revision
1212 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue May 29 23:59:36 2007 UTC
(16 years, 11 months ago)
by
schoenebeck
File length: 14627 byte(s)
Diff to
previous 1208
,
to
selected 214
* added highly experimental support for on-the-fly instrument editing
within the sampler's process (by using instrument editor plugins),
you'll notice the new "Registered instrument editors:" message on
startup, the plugin path can be overridden at compile time with
./configure --enable-plugin-dir=/some/dir
* added a new LSCP command "EDIT INSTRUMENT <sampler-channel>" to spawn
a matching instrument editor for the instrument on the given sampler
channel (LSCP command syntax might be subject to change soon)
* config.h is not going to be installed along with liblinuxsampler's
API header files anymore (not necessary anymore)
* take care of $(DESTDIR) when creating the instruments DB on 'make
install' rule (needed for packaging and cross compilation)
* bumped version to 0.4.0.5cvs
Revision
1208 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat May 26 22:20:46 2007 UTC
(16 years, 11 months ago)
by
iliev
File length: 14468 byte(s)
Diff to
previous 1187
,
to
selected 214
* added --instruments-db-location command line switch
* fixed bug regarding the scanning progress notifications
* directories containing no instrument files are now not re-created
in the instruments databese when recursive scan is performed
Revision
1187 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed May 16 14:22:26 2007 UTC
(17 years ago)
by
iliev
File length: 12980 byte(s)
Diff to
previous 1161
,
to
selected 214
* updated instruments db support
* added transactions for improving the db performance
* added commands for copying and finding instruments and directories
Revision
1012 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 7 15:52:36 2007 UTC
(17 years, 4 months ago)
by
capela
File length: 11682 byte(s)
Diff to
previous 900
,
to
selected 214
* Fixed a memory leak due to EngineFactory::Destroy() not doing it
as an actual destructor and just removing the engine instance from
factory stock and all instances allocated via EngineFactory::Create()
never got delete'd and thus their destructors never called. This bug
was evident while having many mapped instruments and querying the
instrument status via GET MIDI_INSTRUMENT INFO command, eating up
system memory very quickly and never let it go.
Revision
900 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 5 17:53:22 2006 UTC
(17 years, 10 months ago)
by
schoenebeck
File length: 11686 byte(s)
Diff to
previous 840
,
to
selected 214
* src/Sampler.h, src/Sampler.cpp: allow 3rd party applications to
retrieve available drivers and sampler engines
* src/linuxsampler.cpp: show available engines on startup (on the console)
Revision
840 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Feb 26 13:00:08 2006 UTC
(18 years, 2 months ago)
by
persson
File length: 11583 byte(s)
Diff to
previous 826
,
to
selected 214
* fixed some concurrency problems between the lscp thread and the
audio/midi threads for these commands: load engine, set channel
audio output device, set channel midi input device/port/channel and
remove channel. Thanks to Vincent Bongiorno for bug reports and
testing.
* removed an autotools warning
* fixed an iterator bug
* minor code clean-ups
Revision
826 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 8 20:19:49 2006 UTC
(18 years, 4 months ago)
by
schoenebeck
File length: 11576 byte(s)
Diff to
previous 816
,
to
selected 214
* bugfix in LSCP parser which was confused by space(s) within device
parameters
(e.g. "SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 SOMEPARAM='foo bar'")
* changed version to 0.3.3cvs
Revision
579 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue May 24 19:20:20 2005 UTC
(19 years ago)
by
schoenebeck
File length: 10315 byte(s)
Diff to
previous 563
,
to
selected 214
* src/network/lscpserver.cpp: fixed segfault
(patch by Grigor Iliev, fixes #17)
* added man page
* final preparations for the first official release (which will be 0.3.1)
Revision
563 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun May 22 20:43:32 2005 UTC
(19 years ago)
by
schoenebeck
File length: 10879 byte(s)
Diff to
previous 425
,
to
selected 214
* (re)implemented voice stealing algorithm "oldestvoiceonkey" and made it
the default voice stealing algorithm
* added new LSCP command "GET SERVER INFO" which currently returns
description and version about this sampler
* added some API documentation comments
* minor cleanup
Revision
425 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Mar 5 07:27:48 2005 UTC
(19 years, 2 months ago)
by
persson
File length: 10873 byte(s)
Diff to
previous 420
,
to
selected 214
* fixed a bug that sometimes caused clicks at the beginning of samples
* added denormal number elimination for CPUs with SSE2 support
Revision
420 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 3 03:25:17 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
File length: 10315 byte(s)
Diff to
previous 411
,
to
selected 214
* fixed some segfaults (which occured on EngineChannel destruction)
* InstrumentResourceManager: recache small samples if their current
number of silence sample points are not sufficient enough for the used
audio output device
* src/linuxsampler.cpp: voice / streams statistics on the console is back
again (can be turned on with command line switch --statistics)
Revision
411 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Feb 26 02:01:14 2005 UTC
(19 years, 2 months ago)
by
schoenebeck
File length: 9711 byte(s)
Diff to
previous 361
,
to
selected 214
* design change: using now one sampler engine instance and one disk thread
instance for all sampler channels that are connected to the same audio
output device (and are using the same engine type of course)
* added EngineFactory / EngineChannelFactory to remove the annoying build
dependencies e.g. of the lscpserver to the actual sampler engine
implementations
* bumped version to 0.3.0 (current CVS state is still quite broken,
previous, stable CVS version was tagged as "v0_2_0" and is also available
as source tarball)
Revision
328 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Dec 25 21:58:58 2004 UTC
(19 years, 4 months ago)
by
schoenebeck
File length: 8213 byte(s)
Diff to
previous 325
,
to
selected 214
* architecture independence fixes, should now compile again for non x86
systems
* tiny fix of command line switch --version
Revision
319 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 13 00:46:42 2004 UTC
(19 years, 5 months ago)
by
schoenebeck
File length: 11492 byte(s)
Diff to
previous 271
,
to
selected 214
* introduced 'synthesis mode' to reduce the amount of code and conditionals
for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
detection at runtime, only x86 so far)
Revision
271 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 8 20:51:39 2004 UTC
(19 years, 7 months ago)
by
schoenebeck
File length: 11107 byte(s)
Diff to
previous 214
* libgig: fixed panorama value in DimensionRegion (invalid conversion
from signed 7 bit to signed 8 bit)
* src/linuxsampler.cpp: stacktrace is now automatically shown on fatal
errors (that is segmentation faults, etc.), gdb should be installed for
this to work
* gig::Voice: tiny accuracy fix of pan calculation
* replaced old pool classes by completely new ones which now offer
Iterator abstraction
Revision
214 -
(
view)
(
download)
(
annotate)
-
[selected]
Modified
Sat Aug 14 23:00:44 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
File length: 8957 byte(s)
Diff to
previous 211
* src/drivers/DeviceParameter.cpp: fixed return values for
classes 'DeviceRuntimeParameterString' and 'DeviceCreationParameterString'
which returned their values without being encapsulated into apostrophes,
fixed return values for 'DeviceRuntimeParameterBool' and
'DeviceCreationParameterBool' to be returned in lower case (as defined in
the LSCP documentation)
* src/network/lscp.y: key value pairs now also allow strings (without
spaces) to be not encapsulated into apostrophes (e.g. foo=bar instead of
foo='bar')
* src/linuxsampler.cpp: show on the console which TCP port the LSCP server
is using
Revision
211 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jul 25 23:27:41 2004 UTC
(19 years, 9 months ago)
by
schoenebeck
File length: 8929 byte(s)
Diff to
previous 207
,
to
selected 214
* src/linuxsampler.cpp: tidied up a bit, "initialization completed"
message shown only after the server is actually running
* src/testcases/: print the name of each test suite before running the
tests of the suite, added first tests against the LSCP server using a
socket connection to the LSCP server (tests for the following LSCP
commands: "ADD CHANNEL", "GET CHANNELS", "REMOVE CHANNEL")
Revision
207 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 15 21:51:15 2004 UTC
(19 years, 10 months ago)
by
schoenebeck
File length: 10878 byte(s)
Diff to
previous 203
,
to
selected 214
* src/linuxsampler.cpp: print out LinuxSampler version and show all
registered MIDI input drivers
* renamed class 'InputOutputDevice' -> 'Device'
Revision
203 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 13 22:44:13 2004 UTC
(19 years, 10 months ago)
by
schoenebeck
File length: 10580 byte(s)
Diff to
previous 123
,
to
selected 214
forgot to change some things which was mandatory due to the recent
directory movements ('/src/audiodriver' -> '/src/drivers/audio',
'/src/mididriver' -> '/src/drivers/midi')
Revision
123 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 14 19:33:16 2004 UTC
(19 years, 11 months ago)
by
schoenebeck
File length: 10578 byte(s)
Diff to
previous 61
,
to
selected 214
* src/common: added template class 'optional<>' which can be used e.g. as
return type whenever a value might be returned, but don't has to; this
template class pretty much acts like a pointer of the given type, but is
much more safer than a simple pointer
* src/audiodriver: added static class AudioDeviceFactory to create audio
devices at runtime by using a string and to obtain driver informations
of drivers at runtime, driver classes should simply use the macro
REGISTER_AUDIO_OUTPUT_DRIVER(DriverName,DriverClass) in their cpp file
to register the driver to LinuxSampler (no changes needed anymore in the
LS code to add a new audio output driver)
* src/drivers: added classes to dynamically manage driver parameters; there
are two different kinds of parameters: parameters which are need to
create a new device (DeviceCreationParameterX) used to e.g. create an
audio output device or a MIDI input device and parameters which are only
available at runtime, means when a device is already created
(DeviceRuntimeParameterX) which will be e.g. used as audio channel
parameters and MIDI port parameters
* src/linuxsampler.cpp: all registered audio output drivers will be shown
on the console on startup
* src/network: implemented configuration of audio output devices via LSCP
Revision
61 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon May 3 19:29:44 2004 UTC
(20 years ago)
by
schoenebeck
File length: 10350 byte(s)
Diff to
previous 53
,
to
selected 214
forgot to update copyright header for 2004 for following files:
src/linuxsampler.cpp,
src/Sampler.h,
src/Sampler.cpp,
src/network/lscpscanner.cpp
Revision
53 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 26 17:15:51 2004 UTC
(20 years ago)
by
schoenebeck
File length: 10350 byte(s)
Diff to
previous 41
,
to
selected 214
* completely restructured source tree
* implemented multi channel support
* implemented instrument manager, which controls sharing of instruments
between multiple sampler engines / sampler channels
* created abstract classes 'AudioOutputDevice' and 'MidiInputDevice' for
convenient implementation of further audio output driver and MIDI input
driver for LinuxSampler
* implemented following LSCP commands: 'SET CHANNEL MIDI INPUT TYPE',
'LOAD ENGINE', 'GET CHANNELS', 'ADD CHANNEL', 'REMOVE CHANNEL',
'SET CHANNEL AUDIO OUTPUT TYPE'
* temporarily removed all command line options
* LSCP server is now launched by default
Revision
35 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 5 13:46:15 2004 UTC
(20 years, 2 months ago)
by
schoenebeck
File length: 11053 byte(s)
Diff to
previous 33
,
to
selected 214
* implemented parser for the LinuxSampler control protocol (LSCP) by using
flex / bison (where src/network/lscp.l is the input file for lex / flex
and src/network/lscp.y is the input file for yacc / bison), parser and
scanner can be regenerated by 'make parser'
* implemented LSCP network server (only single threaded so far), LSCP
server will be launched if LinuxSampler was started with "--server" flag,
implemented the following LSCP commands so far: "LOAD INSTRUMENT", "GET
CHANNEL VOICE_COUNT", "GET CHANNEL STREAM_COUNT", "GET CHANNEL
BUFFER_FILL", "SET CHANNEL VOLUME" and "RESET CHANNEL"
* disk thread now started within the engine
Revision
33 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 16 19:30:42 2004 UTC
(20 years, 3 months ago)
by
schoenebeck
File length: 11984 byte(s)
Diff to
previous 31
,
to
selected 214
* implemented bidirectional voice state transition, means voice state can
switch arbitrary times between 'Sustained'<-->'Released' within it's life
time, thus the release process of a voice can be cancelled
* src/eg_vca.cpp: extended envelope generator by additional states
('Attack_Hold', 'Decay_1' and 'Decay_2')
* applied patch from Vladimir Senkov which adds new command line parameters
('--jackout', '--alsaout' and '--samplerate')
* configure.in: fixed compiler warning
Revision
31 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 18 20:31:31 2004 UTC
(20 years, 4 months ago)
by
schoenebeck
File length: 9494 byte(s)
Diff to
previous 20
,
to
selected 214
* Added JACK support: Audio rendering process is now callback based and
independant of used audio output system. Interfaces to other audio output
systems can be added by creating a class derived from abstract base class
'AudioIO' and embedding the new class into linuxsampler.cpp.
* src/audiothread.cpp: applied patch from Vladimir Senkov which fixes
hanging notes in conjunction with the sustain pedal
Revision
20 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 25 00:02:45 2003 UTC
(20 years, 4 months ago)
by
schoenebeck
File length: 8882 byte(s)
Diff to
previous 18
,
to
selected 214
* added command line switch --volume to set the global volume level
* added command line switch --inputclient to connect to an Alsa sequencer
input client on startup (e.g. a MIDI port with a keyboard)
* added command line switch --instrument to select an instrument in case
the instrument file provides more than one instrument
Revision
18 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Dec 7 05:03:43 2003 UTC
(20 years, 5 months ago)
by
schoenebeck
File length: 7269 byte(s)
Diff to
previous 13
,
to
selected 214
* src/audioio.cpp: added support for Alsa 1.0.0
* src/audiothread.cpp: fixed several bugs in sustain pedal handling
* src/diskthread.cpp: fixed several bugs which occured under extreme
conditions (endless loop in audiothread, freezing the whole application,
outage of available disk streams)
* src/voice.cpp: fixed cubic interpolation (disabled by default; you can
enable it by setting USE_LINEAR_INTERPOLATION to 0 in src/voice.h)
* src/configure.in: added check for Alsa version
Revision
13 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 21 15:07:23 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 7269 byte(s)
Diff to
previous 12
,
to
selected 214
* src/voice.cpp: fixed bug which caused a voice not free it's disk stream
when the whole sample was already played back and the voice was going to
free itself resulting in outage of unused disk streams after a while
* src/audioio.cpp: implemented automatic fallback to ALSA plughw when the
sound card doesn't support one of the hardware parameters
* src/linuxsampler.cpp: solved segmentation fault issue when receiving a
SIGINT which was caused due to the fact that all threads entered the
signal handler (there still seems to occur a segfault on some certain
circumstances though)
* added print out of all-time maximum usage of voices and streams and the
current number of unused streams
* src/thread.cpp: the StopThread() method will now block until the
associated thread actually stopped it's execution
Revision
12 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Nov 16 19:01:50 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 6962 byte(s)
Diff to
previous 10
,
to
selected 214
* src/gig.cpp: fixed bug in decompression algorithm which caused it not to
detect the end of a stream and let the disk streams reload forever also
resulting in strange sounds at the end of disk voices (concerned only
playback of compressed gig files)
* src/audiothread.cpp: deallocation of voices when they reached the end of
playback (thus e.g. when sustain pedal is pressed and a disk stream
reached it's end)
* various endian corrections needed for non intel systems
* introduced debug level, you can set the debug level and thus the
verbosity of LinuxSampler in src/global.h
Revision
10 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 11 23:30:47 2003 UTC
(20 years, 6 months ago)
by
senoner
File length: 7103 byte(s)
Diff to
previous 9
,
to
selected 214
* src/audiothread.cpp, src/audiothread.h: added Sustain Pedal support
implemented by postponing note-offs and leting multiple voices play
on the same MIDI key.
* added the RTELMemoryPool Class which is a fast RT-safe memory allocator
and list manger
* src/linuxsampler.cpp: added a voice and stream counter debug message
Revision
9 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Added
Wed Nov 5 14:47:10 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 6954 byte(s)
Diff
to
selected 214
* transition from plain Makefile to autotools, source files moved to src/
* configure.in: added test for x86 architecture
* src/voice.h: x86 specific asm optimization for double to int casts only
if compiling for x86 architecture
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.