* Use a template to avoid repeating the panning code for each type
* Rearrange the initialization of BSimpleGameSound so the data is only
copied 0 or 1 times (it was copied 2 or 3 times in some cases) between
the passed buffer and the final one,
* Don't execute the panning code on streams with only 1 channel as this
makes no sense and it will read and write outside the buffers
* Abort early in GameSoundBuffer::Play if fIsPlaying is false.
Fix the crashes in Worms Armageddon. Doesn't fix the sounds being mostly
white noise.
Fixes#4078.
When font hinting is disabled, the width of a string may not be an
integer number of pixels. This results in the tab position also being
non-integer, and the drawing code doesn't handle this, resulting in part
of the tab being shifted 1px to the right.
Snap the rectangle to the pixel grid so the runding error doesn't
happen.
* Fixes#3970 without introducing the bugs from BeOS
* Makes it easy to override BStringItem just to change the text color.
* Makes it easy to implement custom list items using the correct colors.
* This shows the problem in Haiku, it is not easily possible to change the
color of BStringItem.
* It also shows that the BeOS implementation doesn't restore the view
state after drawing items, so the last item in the list also draws
green, and selecting the first also makes it green.
Instead of showing plain red, green and blue color ramps, show what
the color would be if you moved the sliders to each point.
This is what was done on Mac OS classic and is also used in some other
tools to help you targetting a particular color.
It also limits the need for a color preview, which BColorControl
currently doesn't include, forcing apps to implement one themselves.
Fixes#3790 (the patch there didn't apply anymore, so I redid the work.
Credits for the change should go to stpere).
According to Colin this is not supposed to happen, but it does. Since
the affected video otherwise decodes just fine, I think it is safe to
disable the assert and not annoy our users.
Fixes#11409.
* The APE SDK can only decode rather big chunks at a time (several
seconds), so our reader keeps an internal buffer of the last decoded
chunk.
* However, this was always dropped when seeking, meaning the same few
seconds of sound were decoded again and again.
* I'm not sure why MediaPlayer is trying to seek to the position it
already is at, but we can make it work, so why not.
Now the existing buffer is reused if possible when seeking. This makes
it possible to play APE files in MediaPlayer.
Also, several more style fixes.
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
GCI2014, Fixes#6783.
* The "Mount All" Tracker menu only mounted partitions, not disks filled
directly with a filesystem.
This makes it possible to %include local files. nasm doesn't allow this
otherwise (include paths are assumed relative to the working directory).
Fixes build of ape_reader.
This change was introduced by Colin for DVB-T support, however it also
breaks the timing of several MP4 files. The code is incomplete and
computes slightly to very wrong frame rates (one video plays about twice
as fast as needed, another one attempts to play at 30000 FPS).
I suspect similar problems would be found when changing the frame rate
in DVB-T streams in the same way, so I'm disabling this code for now
until a correct solution is found or we manage to use a newer version of
ffmpeg (where there is an actual framerate field in the format and it
doesn't need to be derived from the time_base anymore).
This restores the previous behavior of computing the framerate at the
AVFormatReader level, that is, once per stream, rather than once per
frame. At the stream level we have enough data to compute an "average"
frame rate, and there is also an "r_frame_rate" (real frame rate) which
may be usable for this. Not having working DVB-T hardware to experiment
with that yet, I'll leave it to others.
Fixes#11283 and the last remaining problem in #4512.
* Also known as the YUV9 FourCC and used in SVQ1 (early QuickTime)
videos.
* Fixes part of #4512 (one more video played correctly) and replay of
all old Quicktime videos when you don't have overlay support.
* Fixes#10359.
* Thanks to Laurent Chea for investigating and identifying the problem.
His patch was not used because it makes more changes than needed.
* Fixes#8391
preferences.
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
* This was visible for example in the "double click text area" in Mouse
Docset is an increasingly popular format that is used to generate
an index for HTML documentation that can be viewed by specialized
viewers such as Dash (on the Mac). The output can only be generated
on a Mac currently. Enabling the DOCSET parameter will generate a
Makefile in the html output directory, which can be used to generate
the Docset itself.
Enabling the Docset Makefile does not negatively impact other things,
as such it seems safe to just enable it for whoever wants to build
the docset on a mac.
The interpolation was performed only on the samples in a buffer,
without "linking" with the previous one. This can't work.
* Remember the last sample from a buffer to be able to use it when
interpolating the first samples of the next one
* Adjust the kernel to properly loop over all samples in the buffer
Fixes#9438.
The Interpolating mixer has internal state which must be setup by a
previous frame (we assume 0 for the first frame). Since we work on
exactly a period of the wave here, sending the same data twice works as
it should.
* Shows a source wave (black), a sampled version of it (red), and a
resampled version of that using the mixer (green).
* Debugging tool for #9438. Shows that the drop/repeat resampler is
working ok, but interpolate is quite broken.
This was available in R5 but somehow went missing from our version of
the Be Book (it is documented in the release notes in Tycom Systems
version). Document the more important methods of it, at least.
to Russian, Belorusian and Ukrainian keymaps
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
This is the new official symbol for ruble since october 2013, and was
added to Unicode 7.
Note that our version of the DejaVu font doesn't support it yet, we need
to update it as well.
There is no need to copypaste the resampling code which is mostly the
same for all formats. However, gcc2 is confused by member function
templates (I hit an internal compiler error) so the resampling code was
moved to a static function instead.
* Some spacing was uneven leaving items uncentered
* Removed "slow/fast" labels from the sliders as they were not correct
(a delay is short/long, not slow/fast, same for acceleration) and not
very useful.
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>