summaryrefslogtreecommitdiff
path: root/plugins/HistoryPlusPlus/inc/m_speak.inc
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/HistoryPlusPlus/inc/m_speak.inc')
-rw-r--r--plugins/HistoryPlusPlus/inc/m_speak.inc267
1 files changed, 0 insertions, 267 deletions
diff --git a/plugins/HistoryPlusPlus/inc/m_speak.inc b/plugins/HistoryPlusPlus/inc/m_speak.inc
deleted file mode 100644
index 5a90fa98b0..0000000000
--- a/plugins/HistoryPlusPlus/inc/m_speak.inc
+++ /dev/null
@@ -1,267 +0,0 @@
-{
-Copyright (C) 2007 Ricardo Pescuma Domenecci
-
-This is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-This is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with this file; see the file license.txt. If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-}
-
-{$IFNDEF M_SPEAK}
-{$DEFINE M_SPEAK}
-
-(*
-There is 2 ways of using the speak plugin:
-
-1. Older and simple way: just call
- Speak_Say(hContact, _T("text to speak"))
-and the text will be spoken using contact settings. If hContact is NULL, it will use
-system settings.
-Previous versions only had an ascii version, so if you want to support then you need
-to call
- Speak_SayA(hContact, "text to speak")
-
-
-2. Integrating with meSpeak GUI: for that you have first to register a speak type and
-then call the speak functions. In both case you have 2 options:
-
-2.1 Sending the full text: meSpeak GUI will only allow to enable/disable the type.
-To register call (in modules loaded):
- Speak_Register("PluginName (DB key)", "name", "Prety name for GUI", "icon_xyz")
-And to speak call:
- Speak_SayEx("name", hContact, _T("text to speak"))
-
-2.2 Using templates: you will not pass the text, but some variables. meSpeak handles
-the GUI to allow the user to create the text for those variables. These functions
-end with WT (with templates).
-To register call (in modules loaded):
- AnsiChar *templates[] = { "Name\nDefault\n%var1%\tDescription 1\n%var2%\tDescription2\n%var3%\tDescription 3" };
- Speak_RegisterWT("PluginName (DB key)", "name", "Prety name for GUI", "icon_xyz",
- templates, 1);
-And to speak call:
- TCHAR *variables[] = { _T("var1"), _T("Value 1"), _T("var2"), _T("Value 2"), _T("var3"), _T("Value 3") };
- Speak_SayExWT("name", hContact, 0, variables, 3);
-*)
-
-const
- MIID_SPEAK = '{1ef72725-6a83-483b-aa50-8953e359eead}';
-
- {*
- Speak a text
-
- wParam: (HANDLE) hContact
- lParam: (AnsiChar *) text
- return: 0 on success
- *}
- MS_SPEAK_SAY_A = 'Speak/Say';
-
- {*
- Speak a unicode text
-
- wParam: (HANDLE) hContact
- lParam: (WCHAR *) text
- return: 0 on success
- *}
- MS_SPEAK_SAY_W = 'Speak/SayW';
-
-type
- PSPEAK_TYPE = ^TSPEAK_TYPE;
- TSPEAK_TYPE = record
- cbSize: integer;
- module: PAnsiChar;
- name: PAnsiChar; // Internal type name
- description: PAnsiChar; // Will be translated
- icon: PAnsiChar; // Name off icolib icon
- // Aditional data if wants to use add to history services
- templates: ^PAnsiChar; // Each entry is: "Name\nDefault\n%var%\tDescription\n%var%\tDescription\n%var%\tDescription"
- numTemplates: integer;
- end;
-
-const
- {*
- Register and speak type
-
- wParam: (SPEAK_TYPE *) type
- lParam: 0
- return: 0 on success
- *}
- MS_SPEAK_REGISTER = 'Speak/Register';
-
-const
- SPEAK_CHAR = 1;
- SPEAK_WCHAR = 2;
-
-type
- PSPEAK_ITEM = ^TSPEAK_ITEM;
- TSPEAK_ITEM = record
- cbSize: integer;
- _type: PAnsiChar; // Internal type name
- hContact: THandle;
- flags: integer; // SPEAK_*
- templateNum: integer; // -1 to use text
- case boolean of
- true: (text: PAnsiChar);
- false: (
- variables: Pointer;
- numVariables: integer;
- );
- end;
-
-const
- {*
- Speak a text
-
- wParam: (SPEAK_ITEM *) Item
- lParam: 0
- return: 0 on success
- *}
- MS_SPEAK_SAYEX = 'Speak/SayEx';
-
-
-{$IFDEF I_AM_A_CONSTANT_THAT_IS_NEVER_DEFINED_BUT_ALLOWS_THE_CODE_BELOW_NOT_TO_BE_COMMENTED}
-// Helper functions
-
-static int Speak_SayA(HANDLE hContact, const AnsiChar *text)
-{
- return CallService(MS_SPEAK_SAY_A, (WPARAM) hContact, (LPARAM) text);
-}
-
-static int Speak_SayW(HANDLE hContact, const WCHAR *text)
-{
- return CallService(MS_SPEAK_SAY_W, (WPARAM) hContact, (LPARAM) text);
-}
-
-static int Speak_Register(AnsiChar *module, AnsiChar *name, AnsiChar *description, AnsiChar *icon)
-{
- SPEAK_TYPE type;
-
- if (!ServiceExists(MS_SPEAK_REGISTER))
- return -1;
-
- type.cbSize = sizeof(type);
- type.module = module;
- type.name = name;
- type.description = description;
- type.icon = icon;
- type.templates = NULL;
- type.numTemplates = 0;
-
- return CallService(MS_SPEAK_REGISTER, (WPARAM) &type, 0);
-}
-
-static int Speak_RegisterWT(const AnsiChar *module, const AnsiChar *name, const AnsiChar *description,
- const AnsiChar *icon, AnsiChar **templates, int numTemplates)
-{
- SPEAK_TYPE type;
-
- if (!ServiceExists(MS_SPEAK_REGISTER))
- return -1;
-
- type.cbSize = sizeof(type);
- type.module = module;
- type.name = name;
- type.description = description;
- type.icon = icon;
- type.templates = templates;
- type.numTemplates = numTemplates;
-
- return CallService(MS_SPEAK_REGISTER, (WPARAM) &type, 0);
-}
-
-static int Speak_SayExA(AnsiChar *type, HANDLE hContact, const AnsiChar *text)
-{
- SPEAK_ITEM item;
-
- if (!ServiceExists(MS_SPEAK_SAYEX))
- // Try old service
- return Speak_SayA(hContact, text);
-
- item.cbSize = sizeof(item);
- item.flags = SPEAK_CHAR;
- item.type = type;
- item.hContact = hContact;
- item.templateNum = -1;
- item.text = text;
-
- return CallService(MS_SPEAK_SAYEX, (WPARAM) &item, 0);
-}
-
-static int Speak_SayExW(AnsiChar *type, HANDLE hContact, const WCHAR *text)
-{
- SPEAK_ITEM item;
-
- if (!ServiceExists(MS_SPEAK_SAYEX))
- // Try old service
- return Speak_SayW(hContact, text);
-
- item.cbSize = sizeof(item);
- item.flags = SPEAK_WCHAR;
- item.type = type;
- item.hContact = hContact;
- item.templateNum = -1;
- item.text = text;
-
- return CallService(MS_SPEAK_SAYEX, (WPARAM) &item, 0);
-}
-
-static int Speak_SayExWTA(AnsiChar *type, HANDLE hContact, int templateNum, AnsiChar **variables, int numVariables)
-{
- SPEAK_ITEM item;
-
- if (!ServiceExists(MS_SPEAK_SAYEX))
- return -1;
-
- item.cbSize = sizeof(item);
- item.flags = SPEAK_CHAR;
- item.type = type;
- item.hContact = hContact;
- item.templateNum = templateNum;
- item.variables = variables;
- item.numVariables = numVariables;
-
- return CallService(MS_SPEAK_SAYEX, (WPARAM) &item, 0);
-}
-
-static int Speak_SayExWTW(AnsiChar *type, HANDLE hContact, int templateNum, WCHAR **variables, int numVariables)
-{
- SPEAK_ITEM item;
-
- if (!ServiceExists(MS_SPEAK_SAYEX))
- return -1;
-
- item.cbSize = sizeof(item);
- item.flags = SPEAK_WCHAR;
- item.type = type;
- item.hContact = hContact;
- item.templateNum = templateNum;
- item.variables = variables;
- item.numVariables = numVariables;
-
- return CallService(MS_SPEAK_SAYEX, (WPARAM) &item, 0);
-}
-
-
-#ifdef UNICODE
-# define MS_SPEAK_SAY MS_SPEAK_SAY_W
-# define Speak_Say Speak_SayW
-# define Speak_SayEx Speak_SayExW
-# define Speak_SayExWT Speak_SayExWTW
-#else
-# define MS_SPEAK_SAY MS_SPEAK_SAY_A
-# define Speak_Say Speak_SayA
-# define Speak_SayEx Speak_SayExA
-# define Speak_SayExWT Speak_SayExWTA
-#endif
-
-{$ENDIF}
-{$ENDIF}