示例#1
0
    //SenderNameと一致するsenderを探す
    //Syphonは"appName:senderName"なので、appNameは判定しない
    void FindSyphonSender()
    {
        var list  = SyphonPluginEntry.Plugin_CreateServerList();
        var count = SyphonPluginEntry.Plugin_GetServerListCount(list);

        if (senderInfoList.Count == count)
        {
            return;
        }

        //senderの数が変わっていれば、更新
        senderInfoList = new List <SenderInfo>();
        for (var i = 0; i < count; i++)
        {
            var pSenderName = SyphonPluginEntry.Plugin_GetNameFromServerList(list, i);
            var pAppName    = SyphonPluginEntry.Plugin_GetAppNameFromServerList(list, i);

            var senderInfo = new SenderInfo();
            senderInfo.senderName = (pSenderName != IntPtr.Zero) ? Marshal.PtrToStringAnsi(pSenderName) : "(no sender name)";
            senderInfo.appName    = (pAppName != IntPtr.Zero) ? Marshal.PtrToStringAnsi(pAppName) : "";
            senderInfo.fullName   = String.Format("{0}:{1}", senderInfo.appName, senderInfo.senderName);
            // print(senderInfo.fullName));

            //senderInfoListを更新
            senderInfoList.Add(senderInfo);
        }
        //comboBox用のsenderNameListを更新
        senderNameList = senderInfoList.Select(info => info.fullName).ToList();
        _comboBox.list = senderNameList;
    }
示例#2
0
    void CheckSyphonSender()
    {
        var list  = SyphonPluginEntry.Plugin_CreateServerList();
        var count = SyphonPluginEntry.Plugin_GetServerListCount(list);

        for (var i = 0; i < count; i++)
        {
            var pSenderName = SyphonPluginEntry.Plugin_GetNameFromServerList(list, i);
            var pAppName    = SyphonPluginEntry.Plugin_GetAppNameFromServerList(list, i);
            var _senderName = (pSenderName != IntPtr.Zero) ? Marshal.PtrToStringAnsi(pSenderName) : "(no sender name)";
            var _appName    = (pAppName != IntPtr.Zero) ? Marshal.PtrToStringAnsi(pAppName) : "(no app name)";
            print(String.Format("- {0}:{1}", _appName, _senderName));
            if (_senderName == senderName && _appName == (Application.platform == RuntimePlatform.OSXEditor ? "Unity" : Application.productName))
            {
                Debug.LogError(String.Format("- {0}:{1} is already being used by other sender. ", _appName, _senderName));
            }
        }
    }