* These classes were moved from Media Server, making the use of ports
and messages to communicate with the app irrelevant.
* Split in a separate commit to help git keep track of moved files.
Fixes#4893.
The media server tried to use node monitoring to dynamically add and
remove plug-ins, but it isn't that useful:
* When a plug-in is added, applications would have to query the media
server to get an up to date list of available formats. For example
MediaConvert populates its format menus on startup.
* When removing a plugin, if an app already had it loaded, there is not
much that can be done to keep it working.
* The list of plugins was not sorted by directories (user vs system
add-ons), so the directories were re-scanned to make sure user add-ons
were returned first, rendering the node monitoring less interesting.
Now, the format handling is done by each application. The node
monitoring is removed, instead the apps will scan the plugin directory
when first using the media kit classes. Restarting the application is
needed to update the media formats list.
This reverts a portion of hrev46580 concerning placement of a label on a button.
The label was draw too low on the button in some cases, notably in Keymap.
Restoring the old code for the icon-less case fixes the problem.
There still may be a problem drawing labels on buttons with icons, but, the code
should behave the same as it did in hrev46580 for that case, which is when
buttons with icons was introduced.
* Add button is disabled initially (as the server name is blank)
* Use B_FAILURE_COLOR when server name is invalid instead of hardcoding red
* Some code refactoring
* Some style fixes
* Replace code to find the plug-ins with the new APIs.
* Prepare for hybrid-aware code (but we need to use the app
architecture, not the media_server one)
These are used when an app uses BMediaFile/BMediaTrack, which leads to
the plug-ins being instanciated on the application side.
* Fixes one more part of #10049 (media add-ons are still missing).
* Will probably not solve any real-world issue because of #4893.
* With the muxer & demuxer tables merged in hrev47063, the
list of output formats included media file formats that
weren't flagged as writable
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
46b39e8378 contained a change to the
rounding for non-subpixel-precise drawing. This changes it back
from using round() to casting to int32. This also reverts a change
to StrokeLine() which meant that lines on integer pixels appeared
at the same location regardless of using B_SUBPIXEL_PRECISE or not.
On further thought, this doesn't make any sense, since it means
to treat the meaning of coordinates different for stroking and
filling. This fixes WonderBrush's brush tip preview, but breaks
Gobe Productive's caret rendering for zooms smaller than 150%.
The change to the rounding fixes#10690.
Interestingly, it only complained about some of them. Changing them all
to %define though, as equ means it should try to evaluate it once, which
of course it can't really if those are ebp+CONSTANT.
Didn't catch those since I wasn't building gcc2h.
Thanks to jessicah for reporting and testing the fix!
* Transformed ConnectionTest into WebAppInterface
* Added methods to Model to trigger the population of all packages
with additional information that is needed in the list view.
* This launches a thread which tries to retrieve icons for all known
packages from depot.haiku-os.org. This is uncached and very slow. I
guess it could even be fast enough with a change to the protocol where
icons are not retrieved one at a time.
* The media_file_format struct has B_READABLE and B_WRITABLE flags,
allowing us to tell which formats we support decoding and encoding
* This allows application to query for the supported decoding formats.
* Also adjust some of the MIME types to match what's actually used (eg.
in HTML5 audio).
This makes html5test.com detect which formats we declare we can decode.
* Please read other documentation and code before trying to write any
documentation for Haiku. While any effort to improve our documentation
is welcome, adding non-sense to it is harmful. Writing proper
documentation is hard.
* Fixed spelling in a number of cases.
* Please don't write method names without (). Please use \a and \c to
mark the text accordingly.
BListView::RemoveItem() doesn't delete the item, it just removes it
from the list. We have to delete the item to free the memory it
consumes ourselves.
Application "Time" crashes when you push "Remove" button without any
selection on list of network time servers.
Fixes#10716
Please use git format-patch to create your patches in the future so that
the author information is preserved.
Signed-off-by: John Scipione <jscipione@gmail.com>