Forum

Results 1 to 8 of 8
  1. #1
    Join Date
    April 2016
    Location
    Russia
    Posts
    14

    Unreal Engine 4 plugin, device not registered/known

    Hello!

    I specified full path of team speak 3 sound backends to function:

    Code:
    UTeamSpeakFunctionLibrary::TeamSpeak_initClientLib(ETeamSpeak_LogTypes::LogType_FILE, log_folder, res, error);
    My path is "D:/UNREAL/Flying/Plugins/TeamSpeak_SDK/ThirdParty/TeamSpeak_lib", I also tried "D:/UNREAL/Flying/Plugins/TeamSpeak_SDK/ThirdParty/TeamSpeak_lib/soundbackends" - folder where actually placed ts3 dlls.

    But I got the error and TeamSpeak_getErrorMessage gives me next string: device not registered/known.
    Then I go to log directory and this seems like the specified directory is invalid:
    Code:
    ==================================================================================================================================
    
    2016-04-08 10:31:40.274914|INFO    |              |   |TeamSpeak 3 Client 3.0.3 (2015-03-30 11:30:36) SDK
    2016-04-08 10:31:40.274914|INFO    |              |   |SystemInformation: Windows 8 (9200) x64 (AMD or Intel) Binary: 64bit
    2016-04-08 10:31:40.274914|INFO    |              |   |Using hardware aes
    2016-04-08 10:31:40.275913|ERROR   |SoundDevManager|   |Error getting soundbackends dir No such file or directory
    But actually I look this directory and files inside are exist. Whats wrong with code?
    Thanks!

  2. #2
    Join Date
    September 2012
    Posts
    6,080
    You could also try to use
    Code:
    UTeamSpeakFunctionLibrary::getSoundBackendDir_Editor()
    instead of hard coding the path to the backends. This should return the path to the backends.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  3. #3
    Join Date
    April 2016
    Location
    Russia
    Posts
    14
    Hi, Chris!

    Quote Originally Posted by Chris View Post
    You could also try to use
    Code:
    UTeamSpeakFunctionLibrary::getSoundBackendDir_Editor()
    instead of hard coding the path to the backends. This should return the path to the backends.
    This function returns the ThirdParty path of backends in main project directory. I think this is not good idea. Function should return ThirdParty path of Plugin directory (this more good to hold library and include directories without mixing with others).

    <project_name>/Plugins/TeamSpeak_SDK directory is more right way, so ThirdParty must placed to this directory, and function must return this path.

    What do you think about it?
    Thank you for your attention.

    ---------merged--------------
    And one more question for you, Chris.
    Can you say me about multi-windowed mode in editor with different TeamSpeak 3 processes? I must refactor TeamSpeakFunctionLibrary for this reason (creating more then one ts_managers)?
    But also there is probability that your team will update module for UE4. It is not convenient to merge... But not so seriously, I think...
    Last edited by dante696; April 11th, 2016 at 01:49 PM. Reason: merged

  4. #4
    Join Date
    September 2012
    Posts
    6,080
    Quote Originally Posted by broly View Post
    Hi, Chris!



    This function returns the ThirdParty path of backends in main project directory. I think this is not good idea. Function should return ThirdParty path of Plugin directory (this more good to hold library and include directories without mixing with others).

    <project_name>/Plugins/TeamSpeak_SDK directory is more right way, so ThirdParty must placed to this directory, and function must return this path.

    What do you think about it?
    Thank you for your attention.
    uhm what?
    Can you provide an example of what is returned and of what you think it should return instead? Also please provide reasoning on why exactly you think the current behavior is "bad".
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  5. #5
    Join Date
    April 2016
    Location
    Russia
    Posts
    14
    Quote Originally Posted by Chris View Post
    uhm what?
    Can you provide an example of what is returned and of what you think it should return instead? Also please provide reasoning on why exactly you think the current behavior is "bad".
    Hello, Chris!
    Thank you for fast answer!

    In my case I got returned value: D:\Projects\<project_name>\ThirdParty
    But I want to get next value: D:\Projects\<project_name>\Plugins\TeamSpeak_SDK\T hirdParty

    All plugins in my project used D:\Projects\<project_name>\Plugins\<plugin_name>\T hirdParty path
    And I think this is right. If all plugins will use ThirdParty in main game directory, this will lead to some confusion - each plug-in must have its own ThirdParty directory.

    -------

    UPD: I see the code of TS3 Module and ThirdParty code. And I can conclude, the library not holds manager context of TeamSpeak, so I can't run TS3 on different threads. Or I misunderstood something?
    I want to test sound and text messaging on my PC with multiple windows.
    Just all functions goes to EXPORTDLL, and I can't watch and fix any code from library file... :-(
    Help please.

    Thanks!
    Last edited by broly; April 11th, 2016 at 03:49 PM. Reason: I need help

  6. #6
    Join Date
    September 2012
    Posts
    6,080
    What you could also do is to return an empty string in the res parameter ("") and then copy the soundbackends directory to the output directory where your plugin is located. The folder copying should only be necessary in your local developer version.

    As for the edit to your post: I'm afraid I do not quite understand what you are trying to do exactly? Run multiple copies of your binary or use the several copies of the library in the same process? Please elaborate. I will ask the developer when he's back in office end of next week.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  7. #7
    Join Date
    April 2016
    Location
    Russia
    Posts
    14
    Quote Originally Posted by Chris View Post
    What you could also do is to return an empty string in the res parameter ("") and then copy the soundbackends directory to the output directory where your plugin is located. The folder copying should only be necessary in your local developer version.

    As for the edit to your post: I'm afraid I do not quite understand what you are trying to do exactly? Run multiple copies of your binary or use the several copies of the library in the same process? Please elaborate. I will ask the developer when he's back in office end of next week.
    I'll try this. Thanks.

    ---
    In UE4 editor to speedup the developing, multiple windows may be launched by clicking "Play" window, all these windows runs in one process and in one thread. Appearenly this question not entirely is actual, library manages multiple connections of TS3, it's enough for me.
    I thought only one connection may be created per application. And I wanted to refactor code to use multiple TS3 managers in different threads for different game instances (multiple windows in one exe), it's unneccessary.
    But if this these thoughts might be interested in developer, can he express review for me about multiple TS3 managers?

    Thanks!

  8. #8
    Join Date
    September 2012
    Posts
    6,080
    You can only have one instance of the library in each process, however the lib can manage multiple connections to servers, even different ones.
    You simply create a new server connection handler and most functions that change something or give information have the serverConnectionHandlerID parameter, which determines from which connection you receive information from or which connection you send information to.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Would I could use Unreal Engine to Teamspeak SDK!
    By Miscni in forum General Questions
    Replies: 1
    Last Post: July 6th, 2015, 05:11 PM
  2. device not registered/known
    By omario in forum General Questions
    Replies: 4
    Last Post: February 20th, 2014, 11:33 AM
  3. Headphone Device not registered
    By Zlayer2291 in forum Client Support
    Replies: 0
    Last Post: May 30th, 2013, 07:53 PM
  4. Registered Users are able to delete Registered server group
    By franek12354 in forum Permission System
    Replies: 2
    Last Post: February 2nd, 2013, 02:55 PM
  5. Integrating with Unreal Engine 3 using UnrealScript/C?
    By StingReay in forum General Questions
    Replies: 1
    Last Post: February 7th, 2010, 05:33 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •