Commit Graph

37 Commits

Author SHA1 Message Date
Raven
1e2678e91e
Corrected error in doc 2019-09-20 21:27:31 +02:00
Davide Beatrici
e8afc3872a plugins: move common functions and variables from OS-specific headers to mumble_plugin_main.h
This is in preparation for the new Source Engine plugin which will add a few common functions.

This commit also improves the functions arguments so that they are passed by reference and marked as const (when possible).

A new data type called procid_t is created, intended to be a replacement for pid_t (Linux) and DWORD (Windows).
2019-08-08 23:51:13 +02:00
Davide Beatrici
b427333257 Auto-update LICENSE.header in source files 2019-01-25 04:56:19 +01:00
Mikkel Krautz
f6ba3a52bf Auto-update LICENSE.header in source files. 2018-01-01 23:05:37 +01:00
davidebeatrici
7286fb0f68 Determine correct pointer size automatically, without the need of specific headers and variables
This commit removes the architecture-specific headers, by keeping only the OS-specific ones.
The different headers were needed to keep the legacy Windows header, after we created the "procptr32_t" (4 bytes) and "procptr64_t" (8 bytes) variables.
We created these variables because the "peekProc" functions read as many bytes as the variable can hold. A pointer is 4 bytes on 32 bit platforms and 8 bytes on 64 bit ones.

Now there's a new variable, called "procptr_t" and with a size of 8 bytes (unsigned long long).
We had a "peekProc" template function which returned the value stored at the specified memory address, but it has been used only to read pointers so far.
Since we needed a new function that checks the process architecture and sets the correct size of the memory to read, I decided to "recycle" it.
2017-11-19 21:48:49 +01:00
Mikkel Krautz
98349a1b33 Merge PR #2755: plugins: Fix visibility, warnings and errors when compiled with MinGW 2017-01-22 16:37:32 +01:00
Davide Beatrici
e92b27b8ca
plugins: Fix visibility for plugins compiled with MinGW 2017-01-22 16:19:58 +01:00
Mikkel Krautz
91ebb8b0b5 Update tree copyrights to 2017. 2017-01-08 21:05:57 +01:00
Mikkel Krautz
7960c500d9 plugins/mumble_plugin.h: add magic values for MSVC2015 x86 and x64 ABIs. 2016-08-21 17:36:36 +02:00
Mikkel Krautz
797bc9b915 mumble_plugin.h: add MUMBLE_PLUGIN_EXPORT macro.
This allows plugins to use MUMBLE_PLUGIN_EXPORT
instead of __declspec(dllexport) -- but get the
same behavior on MSVC/Windows.

This is part of the effort to allow Windows PA
plugins to work with Wine games on Linux.
2016-08-13 10:04:12 +00:00
Mikkel Krautz
d818a8d362 plugins/mumble_plugin.h: fix typo in MUMBLE_PLUGIN_MAGIC_QT for _MSC_VER == 1600, M_IX86. 2016-08-06 17:18:09 +02:00
Mikkel Krautz
f0a5bd265b plugins/mumble_plugin.h: replace use of HWND with void *.
The mumble_plugin.h header is used in more places than on Windows,
but the HWND type is Windows-specific.

This has caused problems in the past, forcing all users of mumble_plugin.h
to define a fake HWND type.

We recently began passing 0 to the about() and config() plugin functions
unconditionally -- so they are practically unused.

Therefore, it makes no sense to use the HWND type anymore.
Because of that, this commit changes the HWND type to void *.
It is ABI compatible with HWND.
2016-08-06 17:17:49 +02:00
Mikkel Krautz
6b67f35b71 plugins/mumble_plugin.h: replace hardcoded __cdecl with MUMBLE_PLUGIN_CALLING_CONVENTION.
The new preprocessor define is only used on MSVC.
2016-08-06 16:09:19 +02:00
Mikkel Krautz
3ea298a58f Plugins: add MumblePluginQt to better support the 'manual' plugin.
If a plugin implements MumblePluginQt, it is a signal to Mumble
that the plugin wishes to use Qt-based about and config dialogs.

The MmublePluginQt interface includes two methods: "about" and
"config".

Mumble will call these methods with a pointer to a QWidget that
is suitable to be the parent for the plugin's about and/or config
dialogs.

The MumblePluginQt interface is only useful for plugins that use Qt.
That, for now, is only the "manual" plugin. In general, plugins can't
really use Qt unless they're very tightly coupled to Mumble.
2016-07-17 00:31:59 +02:00
Mikkel Krautz
313be4b66b plugins: update to use LICENSE.header. 2016-05-10 22:42:04 +02:00
Mikkel Krautz
0393ed3430 mumble_plugin.h: use _M_IX86 instead of (typo'd) _M_X86. 2016-04-10 23:00:45 +02:00
Mikkel Krautz
e31b716544 plugins: add missing 'elif'; fix indentation of MSVS2008 'if' block. 2014-07-12 19:30:21 +02:00
Mikkel Krautz
9f327bee14 plugins: add magic values for all previously supported ABIs (and a couple of new ones) to mumble_plugin.h.
Add all previous magic values we've used since at least 1.2.0.
(Though I think the MUMBLE_PLUGIN_MAGIC value for MSVS2008 x86
goes back even further!)

This also adds a new magic value for the MSVS2013 x64 ABI, and
a generic default for "unsupported" ABIs.

Unsupported in this context means platforms/ABIs that we aren't
distributing plugins for via the auto-update mechanism. Those
platforms typically only have a single plugin, which is the
"link" plugin distributed with Mumble itself.
2014-07-12 18:39:44 +02:00
Mikkel Krautz
53daac8305 mumble_plugin.h: change plugin magic values in preparation of the MSVS 2013 switch-over.
Mumble 1.3.0 on Windows will be built with MSVS 2013. That means
that old plugins will no longer load into it (Mumble will crash
if we try), because of C++ ABI differences between MSVS 2010
and MSVS 2013.

To combat this, we switch our plugin magics such that no ABI
mismatches can happen: Old clients will refuse to load new plugins,
and new clients will refuse to load old plugins.

We have a precedent for doing this. See dac82c99 (MSVS 2010 switch-over).
2014-04-05 01:35:20 +02:00
Kissaki
1e4bb6dbd0 Prepend Projectname to header guard defines
* some few (4?) files actually already had it
2013-06-04 21:59:52 +02:00
Kissaki
40ca9b4507 Rename header guard defines to not use c++-reserved names
* as pointed out in issue #842
adjust names to match other header files
2013-06-04 21:59:50 +02:00
Benjamin Jemlich
2026dfa4e5 Comment changes to the plugin headers 2012-04-30 07:57:37 +02:00
Thorvald Natvig
f3437a6ba7 Update copyright year ranges of dev team. 2011-03-18 05:52:51 +01:00
Thorvald Natvig
dac82c9994 VS 2010 build 2010-08-09 01:07:34 +02:00
Thorvald Natvig
71e5e85277 Backwards compatible plugin structure 2010-02-25 14:14:44 +01:00
Thorvald Natvig
6d9bc4e116 Send pidmap to plugin trylock 2010-02-25 13:15:18 +01:00
Thorvald Natvig
16339bfc91 Update license to 2010 2010-01-05 08:49:22 +01:00
Thorvald Natvig
4ef52e99eb Send plugin context/identity to server 2009-04-18 18:21:10 +02:00
Thorvald Natvig
88384734be Indent, changelog and submodule update 2009-04-12 15:53:23 +02:00
Thorvald Natvig
3ebfe2ba29 Have plugins use std::basic_string, and use l4d as example 2009-04-01 23:29:04 +02:00
Thorvald Natvig
14d59e1568 Make context and id length signed, so we can return -1 2009-04-01 21:20:52 +02:00
Thorvald Natvig
65aef28416 Update plugin header 2009-04-01 21:12:22 +02:00
Thorvald Natvig
ad2b8e2149 Update copyright for 2009
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1380 05730e5d-ab1b-0410-a4ac-84af385074fa
2009-01-05 15:12:48 +00:00
Thorvald Natvig
2afb03d420 Initial support for plugins on non-win32, but disable GUI for now [Ludwig Nussel <ludwig.nussel@suse.de>]
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@990 05730e5d-ab1b-0410-a4ac-84af385074fa
2008-03-17 00:47:33 +00:00
Thorvald Natvig
dc7e438976 Update copyright for 2008
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@908 05730e5d-ab1b-0410-a4ac-84af385074fa
2008-01-05 16:25:48 +00:00
Thorvald Natvig
ca3c73c134 Remove support for doppler effects; only works on a few soundcards, and makes sound horrible for anyone else that tries to enable it.
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@322 05730e5d-ab1b-0410-a4ac-84af385074fa
2005-12-24 07:08:28 +00:00
Thorvald Natvig
eb7e1be14e Positional Audio
Plugins
Ability to switch input/output device without restart
Version changed to 0.3.0cvs


git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@138 05730e5d-ab1b-0410-a4ac-84af385074fa
2005-09-14 20:56:32 +00:00