Commit Graph

52561 Commits

Author SHA1 Message Date
Rene Gollent
1c1ffc46d5 Debugger: Minor tweak to DwarfType.
- When creating a derived type, adjust the name accordingly to indicate
  the additional qualifiers. Fixes a problem where casted type names would be
  displayed as their base type only, even if they included pointers or array
  subscripts.
2014-12-12 16:57:32 -05:00
Adrien Destugues
18bd706d85 Add package for the Substrate screensaver. 2014-12-12 16:43:58 +01:00
Adrien Destugues
3bcb69811b BOptionPopUp: call the superclass AttachedToWindow.
It's ther that the view background color is inherited from the parent.
Fix option popups having a white background eg. in MediaPlayer
preferences.

Thanks to DeadYak for noticing the problem.
2014-12-12 16:18:34 +01:00
Adrien Destugues
f0eb9fcd93 FileTypes: make space for BBox titles
In some locales the title is longer than the space there is for it. Make
sure the boxes are wide enough for the title to display completely.

Fixes #11611.
2014-12-12 16:11:07 +01:00
Adrien Destugues
27627e22db DataTranslations: remove SetExplicitMinSize
It prevents the window to get big enough for some of the translators.

Fixes #11612.
2014-12-12 15:53:25 +01:00
Adrien Destugues
03f1ea8e5c Add package for Chat.
* This should be merged with the changes done in Dengon and Jabber4BeOS,
so let's raise the awareness of people about those by having packages
for it!
2014-12-12 13:51:01 +01:00
Rene Gollent
cbd3910d6d Debugger: Minor syntax highlighter fixes.
- Add missing if/else keywords.
- Add missing comma that was preventing some keywords from being
  recognized properly.
- Add missing handling of condition operator.
2014-12-11 22:32:47 -05:00
Rene Gollent
db1df758b8 Debugger: Cleanups.
SourceLanguage and friends:
- Remove ParseTypeExpression from SourceLanguage, as its functionality
  can now properly be subsumed by the general expression parser, and
  simply becomes another result type thereof.

CLanguageFamily/CLanguage/CppLanguage:
- Remove IsModifierValid() hook, as this is all now handled internally
  in the expression parser.

VariablesView:
- Refactor to handle typecast requests via expression evaluation. Since
  this is done asynchronously, rework the logic to handle recognizing
  expression evaluation results that correspond to a requested cast,
  and handle accordingly.
2014-12-11 22:17:35 -05:00
Rene Gollent
194d85f4a3 Debugger: Simplify expression parser.
- Remove handling of the power token, as it's not actually valid C/C++ syntax,
  and causes problems when parsing more complex pointer types/dereferences.
2014-12-11 22:17:34 -05:00
Rene Gollent
d621fb88d7 Debugger: Fix problem in ArrayValueNode.
- The requested child indices weren't being correctly capped to the
  supported lower and upper bound.
2014-12-11 22:17:33 -05:00
Rene Gollent
af76b51633 Debugger: Add basic support for types in expressions.
SourceLanguage/CLanguageFamily/ExpressionEvaluationJob:
- Add TeamTypeInformation parameter to EvaluateExpression() hook. Adjust
  implementing subclasses and callers accordingly.

CLanguageExpressionEvaluator:
- Add class InternalVariableID for representing intermediate variables
  generated while parsing an expression.
- When parsing an identifier, if we were passed in a type information object,
  then first attempt to resolve the name as a type. If not matched, then fall
  through to attempting to match it to a value node as before.
- When parsing an atom, check if it resulted in a type. If it did, and there
  still remains more of the expression to parse, then parse the result to see
  what value/variable to try to apply the typecast to. If the result is a
  primitive, generate an appropriate internal variable + value node child for
  it, otherwise use the target variable's child. Then, attempt to typecast it
  as requested.
- Simplify _EatToken().
- If the final result of an expression is a type, configure the result object
  accordingly.

As a result of all the above, an expression can now resolve to a type, allowing
the evaluator to take over the duties of parsing the desired type for a typecast
request in the variables view, and in addition, expressions themselves can now
contain typecasts, which opens up quite a few new possibilities.
2014-12-11 22:17:33 -05:00
Rene Gollent
9d6cd8b210 Debugger: Minor fix to CLanguageTokenizer.
- Properly differentiate the size of a parsed hex constant in order
  to return a correspondingly sized primitive, rather than always
  returning as 64-bit.
2014-12-11 22:17:32 -05:00
Rene Gollent
1b7af39a61 Debugger: DwarfImageDebugInfo cleanups.
- For simply looking up a type, we need neither the register map, nor
  the target interface, as those are only necessary for resolution of
  values and/or locations.
- Fix memory leak. A reference to the target interface was acquired in
  the type context's ctor, but not correspondingly released in the dtor.
2014-12-11 22:17:31 -05:00
Rene Gollent
5a4887a0db Debugger: Add type results to ExpressionInfo.
- In addition to a primitive or value node, expressions can potentially
  result in types as well. As such, extend ExpressionInfo to be able to
  return one, and indicate such a result kind appropriately.
2014-12-11 22:17:31 -05:00
Adrien Destugues
042bb68ed6 BGameSound: make Worms Armageddon sounds work
* When the endianness is not intialized, assume B_MEDIA_HOST_ENDIAN.
This is probably what was meant (and this is what Worms Armageddon
means).
* Move creation of the media nodes back to the initialisation instead of
StartPlaying, otherwise an extra node is created each time the sound is
played.
2014-12-11 17:17:55 +01:00
Adrien Destugues
bf57c148f7 BGameSound: cleanup and several fixes
* 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.
2014-12-11 16:02:59 +01:00
Adrien Destugues
94d14479bb ListView: computate disabled color only for disabled items. 2014-12-11 10:39:51 +01:00
Adrien Destugues
e3686c1bd2 ffmpeg add-on: fix typo. 2014-12-11 10:38:41 +01:00
Adrien Destugues
9a83a303b4 Add colorspace converter for YUV420P10LE to RGB32.
Fixes #9141.
2014-12-11 10:24:02 +01:00
Adrien Destugues
d7d0a0284b ffmpeg: get pixel format names from libavutil.
No need to reimplement this when ffmpeg already provides it. Moreover,
our version was outdated and did not handle all color spaces.
2014-12-11 09:37:47 +01:00
Adrien Destugues
265f299627 ListView: move the color setting code to DrawItem
... so it can also be used by OutlineListView.

Fixes #11598.
2014-12-11 08:44:54 +01:00
Automatic Committer
79d01ffb11 Update usb.ids from www.linux-usb.org 2014-12-11 05:20:24 +01:00
Automatic Committer
4f7a2930c7 Update pci.ids from pciids.sourceforge.net 2014-12-11 05:20:23 +01:00
Puck Meerburg
e4e2ce4ce3 When testing screensaver, don't have mouse move exit the screen saver.
Fixes #7463

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
2014-12-10 21:18:30 +01:00
Adrien Destugues
75fe62cd00 Add package for Slayer. 2014-12-10 16:40:17 +01:00
Adrien Destugues
ea22ee950d Update boost packages against newly built ICU.
Thanks to cdesai for providing rebuilt packages!
2014-12-10 16:36:23 +01:00
Adrien Destugues
6f20778781 ControlLook: fix DrawActiveTab with subpixel rectangle
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.
2014-12-10 13:50:19 +01:00
Adrien Destugues
cbb8ebbbbb Set item colors in BListView instead of BStringItem
* 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.
2014-12-10 13:34:51 +01:00
Adrien Destugues
524288065b Test for #3970.
* 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.
2014-12-10 13:30:10 +01:00
Adrien Destugues
04f884284c Colorcontrol: show resulting colors in the slider
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).
2014-12-10 11:33:58 +01:00
Adrien Destugues
d18ae0336e ape_reader: setup for hybrid build.
I forgot that media add-ons are hybrid by default. Fixes the build.
2014-12-10 11:00:49 +01:00
Adrien Destugues
1148ea734e AVCodecDecoder: remove annoying assert.
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.
2014-12-10 10:03:59 +01:00
Adrien Destugues
d181ea48ed Add the ape reader to the image again.
Fixes #7048.
2014-12-10 09:40:20 +01:00
Adrien Destugues
ff72ec4fee APE reader: optimize seeking
* 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.
2014-12-10 09:34:51 +01:00
Adrien Destugues
5480f203d3 APE reader: style fixes. 2014-12-10 09:11:22 +01:00
Puck Meerburg
b0a48e3844 DriveSetup: Also mount BDiskDevices which contain a file system.
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.
2014-12-10 08:06:05 +01:00
Adrien Destugues
2311bdf24f AssembleNasm: add source dir to include path.
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.
2014-12-09 17:53:44 +01:00
Adrien Destugues
0fecd3e882 Build fix. 2014-12-09 17:30:55 +01:00
Adrien Destugues
7148abdcc2 HttpForm: implement copy constructor.
Thanks to GCI studdent arroyoc for finding that this was missing and
HttpRequest.SetFormData couldn't work.
2014-12-09 17:05:02 +01:00
Adrien Destugues
ff68ae9837 ffmpeg: disable runtime frame rate changes support.
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.
2014-12-09 15:42:49 +01:00
Adrien Destugues
dca4966cd6 ScreenTest: style fixes. 2014-12-09 15:17:20 +01:00
Adrien Destugues
77476b38fe ffmpeg gfx_conv_c: Style fixes. 2014-12-09 14:59:12 +01:00
Adrien Destugues
d5b78822f7 Implement Y'CbCr 4:1:0 to RGB32 conversion.
* 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.
2014-12-09 14:30:28 +01:00
Adrien Destugues
0edd73e467 FileTypes: fix layout of the FileTypeWindow.
* Fixes #10359.
* Thanks to Laurent Chea for investigating and identifying the problem.
His patch was not used because it makes more changes than needed.
2014-12-09 09:50:54 +01:00
Adrien Destugues
ae0218ed54 SATDecorator: use the correct tab color
The tab color used for the SAT highlight was hardcoded to the default
yellow. Instead get it from the decorator settings.

Fixes #11571.
2014-12-09 09:34:08 +01:00
Adrien Destugues
4380baa4d7 DataTranslations: avoid layout jumping
* Constrain the list and "right view" sizes so the layout doesn't change
for each translator.
* Fixes #6897.
2014-12-09 08:47:09 +01:00
Laurent Chea
4cec648e86 Fix alignment in TextControl widgets
* Fixes #8391
preferences.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

* This was visible for example in the "double click text area" in Mouse
2014-12-09 08:24:14 +01:00
Niels Sascha Reedijk
f36b3f9b3e Generate the Makefile for making docsets.
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.
2014-12-08 22:14:24 +01:00
Jérôme Duval
bbcb9a572a updated python package 2014-12-08 21:36:01 +01:00
Adrien Destugues
d23c413188 Interpolating resampler: un-break it.
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.
2014-12-08 19:07:45 +01:00