Skip to content

Commit

Permalink
Release #2.50
Browse files Browse the repository at this point in the history
  • Loading branch information
EugeneP-Zello committed Oct 25, 2019
1 parent f3d7628 commit 10077c0
Show file tree
Hide file tree
Showing 91 changed files with 1,483 additions and 250 deletions.
Binary file modified Headless/ZelloPTT.chm
Binary file not shown.
Binary file modified Headless/ZelloPTT.dll
Binary file not shown.
156 changes: 150 additions & 6 deletions LoudtalksMesh.idl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/**
* \mainpage
* Zello Work Client SDK for Windows allows to integrate
* your Windows application or web-page with full-featured Zello Work client application.
* Key part of this SDK is ActiveX control which is as functional as standalone Zello Work client application.
* Zello for Work Client SDK for Windows allows to integrate
* your Windows application or web-page with full-featured Zello for Work client application.
* Key part of this SDK is ActiveX control which is as functional as standalone Zello for Work client application.
* You can use Visual C++, Visual Basic, Visual C# or any other programming language supporting hosting of ActiveX controls.
* For information on Zello server API please check http://zello.com/api/.
*
Expand Down Expand Up @@ -204,7 +204,11 @@ enum MESSAGE_TYPE
/** Call alert */
MTALERT = 1,
/** Shared image */
MTIMAGE = 1,
MTIMAGE = 2,
/** Shared location */
MTLOCATION = 3,
/** Text message */
MTTEXT = 4
}
/// @cond MESSAGE_TYPE
MESSAGE_TYPE
Expand Down Expand Up @@ -262,6 +266,8 @@ enum SETTING_ID
ST_IFC_RCV_IMAGES = 28,
/* "language" Language file name (String)*/
ST_IFC_LANG = 29,
/* "TextingAllowed" Texting is allowed/forbidden for this zello network (Boolean)*/
ST_IFC_TXT_ALLOWED = 30,

/** "VoxEnabled" Enable VOX (Boolean)*/
ST_VOX_ENABLE = 40,
Expand Down Expand Up @@ -579,6 +585,97 @@ interface ISharedImage : IMessage
[propget, id(2009), helpstring("property CrosslinkAuthorDisplayName")] HRESULT CrosslinkAuthorDisplayName([out, retval] BSTR* pbstrVal);
};

/**
* \ingroup Interfaces
* @{
*/
[
object,
uuid(A67C7BB9-DFBB-4efe-9F2E-03019273B772),
dual,
oleautomation,
helpstring("ISharedLocation Interface"),
pointer_default(unique)
]
/**
* Interface representing shared location.
*/
interface ISharedLocation : IMessage
{
/**
* Get the reverse geocoded location.
* \param pbstrVal Return value.
*/
[propget, id(2001), helpstring("property ReverseGeolocation")] HRESULT ReverseGeolocation([out, retval] BSTR* pbstrVal);

/**
* Get shared location latitude.
* \param pdVal Return value.
*/
[propget, id(2002), helpstring("property Latitude")] HRESULT Latitude([out, retval] double* pdVal);

/**
* Get shared location longitude.
* \param pdVal Return value.
*/
[propget, id(2003), helpstring("property Longitude")] HRESULT Longitude([out, retval] double* pdVal);

/**
* Get shared location accuracy.
* \param pdVal Return value.
*/
[propget, id(2004), helpstring("property Accuracy")] HRESULT Accuracy([out, retval] double* pdVal);

/**
* Get alert external id.
* \param pbstrVal Return value.
*/
[propget, id(2005), helpstring("property ExternalId")] HRESULT ExternalId([out, retval] BSTR* pbstrVal);

/**
* Get shared location sender.
* \param ppVal Return value.
*/
[propget, id(2006), helpstring("property Sender")] HRESULT Sender([out, retval] IContact** ppVal);

/**
* Get shared location author for messages received from channels and groups.
* No author is returned for shared locations received from users.
* \param ppVal Return value.
*/
[propget, id(2007), helpstring("property Author")] HRESULT Author([out, retval] IContact** ppVal);

/**
* Get full author name.
* \param pbstrVal Return value.
*/
[propget, id(2008), helpstring("property FullName")] HRESULT FullName([out, retval] BSTR* pbstrVal);

/**
* Get crosslink.
* \param pbstrVal Return value.
*/
[propget, id(2009), helpstring("property Crosslink")] HRESULT Crosslink([out, retval] BSTR* pbstrVal);

/**
* Get name of the author from crosslink network.
* \param pbstrVal Return value.
*/
[propget, id(2010), helpstring("property CrosslinkAuthor")] HRESULT CrosslinkAuthor([out, retval] BSTR* pbstrVal);

/**
* Get display name of the author from crosslink network.
* \param pbstrVal Return value.
*/
[propget, id(2011), helpstring("property CrosslinkAuthorDisplayName")] HRESULT CrosslinkAuthorDisplayName([out, retval] BSTR* pbstrVal);

/**
* Not implemented.
* \param pbstrVal Return value.
*/
[propget, id(2012), helpstring("property Url")] HRESULT Url([out, retval] BSTR* pbstrVal);
};

/**
* \ingroup Interfaces
* @{
Expand Down Expand Up @@ -826,6 +923,49 @@ interface IUser : IContact
};
/*@}*/

/**
* \ingroup Interfaces
* @{
*/
[
object,
uuid(2692F22D-D7AE-4cfa-8B1F-780CDF850EC1),
dual,
oleautomation,
helpstring("IUserEx Interface"),
pointer_default(unique)
]
/**
* Interface IUser2 provides some extra contact capabilities.
*/
interface IUser2 : IUser
{
/**
* Check image support.
* \param pbVal Return value.
*/
[propget, id(2000), helpstring("property CanReceiveImage")] HRESULT CanReceiveImage([out, retval] VARIANT_BOOL* pbVal);

/**
* Check texting support.
* \param pbVal Return value.
*/
[propget, id(2001), helpstring("property CanReceiveText")] HRESULT CanReceiveText([out, retval] VARIANT_BOOL* pbVal);

/**
* Check geolocation sharing support.
* \param pbVal Return value.
*/
[propget, id(2002), helpstring("property CanReceiveGeolocation")] HRESULT CanReceiveGeolocation([out, retval] VARIANT_BOOL* pbVal);

/**
* Get contact new messages count
* \param puiNewMessagesCount Return value.
*/
[propget, id(2010), helpstring("property NewMessagesCount")] HRESULT NewMessagesCount([out, retval] UINT* puiNewMessagesCount);
};
/*@}*/

/**
* \ingroup Interfaces
* @{
Expand Down Expand Up @@ -1875,13 +2015,17 @@ interface IPtt4 : IPtt3
[id(301), helpstring("method StopAudioMessageIntegration")] HRESULT StopAudioMessageIntegration();

/**
* Check if AutoConnect feature is active.
* Check if Chorus feature is active.
* All the incoming messages are played live if this feature is on.
* If this feature is off, incoming messages are played one-by-one
* \param pbVal Return value.
*/
[propget, id(302), helpstring("property Chorus")] HRESULT Chorus([out, retval] VARIANT_BOOL* pbVal);

/**
* Enable or disable AutoConnect feature.
* Enable or disable Chorus feature.
* All the incoming messages are played live if this feature is on.
* If this feature is off, incoming messages are played one-by-one
* \param bVal New value.
*/
[propput, id(302), helpstring("property Chorus")] HRESULT Chorus([in] VARIANT_BOOL bVal);
Expand Down
48 changes: 17 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# ZelloWork client SDK for Windows
*Push-to-talk SDK for your Windows or Windows Mobile application*

Version: 2.19<br>
Date: May 31, 2018
Version: 2.15<br>
Date: December 27, 2016

### Introduction
Thanks for downloading ZelloWork SDK. It’s designed to enable easy integration of push-to-talk function into any application. This document will guide you through the installation and use of the SDK.
Expand All @@ -17,71 +17,57 @@ You need a Windows PC to use the SDK. To install the SDK launch the [ZelloWorkCl

The SDK installs samples, documentation and registers ActiveX control (ptt.dll). Once installed you can access SDK items from Start menu.

## Samples overview
##Samples overview
Before digging into the code you can try the compiled samples, which are located in ‘Samples\bin’ subfolder of the SDK.

### Sample1.exe
###Sample1.exe
*Win32 C++ application for Windows using ActiveX control*

![Offline view](Screenshots/Sample1-1.png "Sample1.exe sign in screen")
![Online view](Screenshots/Sample1-2.png "Sample1.exe contact list")

### Sample2.htm
###Sample2.htm
embedding Zello ActiveX control into a web-page. Use Internet Explorer to view this sample.

![ZelloWork in IE browser](Screenshots/Sample2-1.png "ZelloWork in IE browser")

### Sample3.exe
###Sample3.exe
.NET application for Windows using ActiveX control

![alt text](Screenshots/Sample3-1.png "Sample3.exe sign in screen")
![alt text](Screenshots/Sample3-2.png "Sample3.exe contact list")

### Sample4.exe
###Sample4.exe
Win32 C++ application for Windows Mobile. This one is a bit tricky. To test it you have to copy the file and ptt.dll from ‘mobile’ subfolder to the mobile device and register ptt.dll there using regsvrce.exe utility.

![alt text](Screenshots/Sample4-1.png "Sample4.exe sign in screen")
![alt text](Screenshots/Sample4-2.png "Sample4.exe contact list")

### Sample5.exe
###Sample5.exe
Win32 C++ application for Windows implementing custom GUI

![alt text](Screenshots/Sample5-1.png "Sample5.exe sign in screen")
![alt text](Screenshots/Sample5-2.png "Sample5.exe contact list")

### Sample6.exe
###Sample6.exe
.NET 2.0 C# application for Windows Mobile

![alt text](Screenshots/Sample6-1.jpg "Sample6.exe sign in screen")
![alt text](Screenshots/Sample6-2.jpg "Sample6.exe contact list")

### Sample7.exe
###Sample7.exe
Visual Basic 6 application for Windows using ActiveX control

![alt text](Screenshots/Sample7-1.png "Sample7.exe main screen")

### SoundSample.exe
###SoundSample.exe
.NET 2.0 C# application implementing audio integration interfaces.
If integration mode is active, ActiveX control doesn't use playback and rendering hardware audio devices.
Instead host app receives uncompressed PCM audio stream for each incoming message, and provides custom PCM audio stream for each outgoing message.
If chorus mode is active, all incoming audio messages are activated concurrently on receive, while in normal mode they are activate sequentially, one by one, similar to how Zello client normally works.

![alt text](Screenshots/SoundSample.png "SoundSample.exe main screen")

### Sample8.exe
Win32 C++ application for Windows based on headless SDK, implementing custom GUI

![alt text](Screenshots/Sample5-1.png "Sample8.exe sign in screen")
![alt text](Screenshots/Sample5-2.png "Sample8.exe contact list")

### MultiClientSample
.NET 2.0 C# application based on headless SDK, implementing audio integration interfaces.
Main window allows to create several in-proc zello clients, each one having functionality similar to SoundSample
If integration mode is active, Zello client doesn't use playback and rendering hardware audio devices.
Instead host app receives uncompressed PCM audio stream for each incoming message, and provides custom PCM audio stream for each outgoing message.

![alt text](Screenshots/MultiClientSample.png "MultiClientSample.exe main screen")

The samples are compiled for the use with ‘default.zellowork.com’ Zello for Work network. You can use any of the following login / password pairs to sign in:

```
Expand All @@ -96,17 +82,17 @@ test8 / test
```
Please note that this network / usernames is intended for quick test only. For your development you’ll need to register your own free Zello for Work network.

## Exploring the code
##Exploring the code

Follow these steps to start developing with Zello for Work SDK.

### Step 1. Register your development network
###Step 1. Register your development network

1. Go to [zellowork.com](https://zellowork.com/) enter desired network name, your full name and a valid e-mail address.
2. An e-mail will be sent to you with the new network admin password
3. Log-in to the newly created network web console and add some test users. You can create up to 5 users for your testing.

### Step 2. Open relevant sample and modify the code to use your network
###Step 2. Open relevant sample and modify the code to use your network

1. Sample 2 uses HTML and JavaScript only so it could viewed and edited in any text editor
a. All other samples require Visual Studio 2008 or later
Expand All @@ -115,12 +101,12 @@ a. All other samples require Visual Studio 2008 or later
4. Verify that you can login using the accounts you created
5. Test push-to-talk functionality

### Step 3. Check out documentation
###Step 3. Check out documentation

1. Explore [ZelloWork.chm](ZelloWork.chm) installed with the SDK or [online reference](https://zelloptt.github.io/zellowork-windows-client-sdk/) to see the interfaces available to your application
2. Contact us if you have any questions or can’t find the API method you need

## Deploying your application
##Deploying your application
When deploying your application make sure that the following conditions are met:

1. You application installer installs and registers ptt.dll ActiveX control
Expand All @@ -135,5 +121,5 @@ All apps using Zello SDK must adhere to the following guidelines:
* Use Zello logo and / or "Zello", "ZelloWork" names, when referencing to Zello inside of your app
* [Send us the app for review](https://zellowork.com/contact/) before distributing the app to any third parties or customers

## Additional resources
##Additional resources
For more information visit our website at [zellowork.com](https://zellowork.com) or send an e-mail to [[email protected]](mailto:[email protected])
Loading

0 comments on commit 10077c0

Please sign in to comment.