Esempio n. 1
0
 private void btnSend_Click(object sender, EventArgs e)
 {
     if (m_AudRecorder != null && false == String.IsNullOrEmpty(sWavToSend))
     {
         CReadWavFile wf = new CReadWavFile(sWavToSend);
         if (wf.ChannelCount != 1 || wf.BitsPerSecond != 16)
         {
             MessageBox.Show("Incompatible WAV file format", "Unable to send", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             return;
         }
         PttLib.IContacts cnts = axMesh.Contacts;
         PttLib.IMessage  msg  = null;
         List <string>    lst  = new List <string>();
         foreach (object chk in cbSendAudioFile.CheckedItems)
         {
             ContactInfo ci = chk as ContactInfo;
             if (ci != null)
             {
                 lst.Add(ci.id);
             }
         }
         if (lst.Count > 0)
         {
             PttLib.IAudioStream   strm = m_AudRecorder.MessageOutBeginEx(lst.ToArray(), string.Empty, out msg);
             AudioMessageRecording rec  = new AudioMessageRecording(wf);
             rec.AllDataWritten += new EventHandler(Recording_AllDataWritten);
             lstOutMessages.Add(rec);
             rec.SetStream(strm);
         }
     }
 }
Esempio n. 2
0
 public void axMesh_SignOutComplete(Object sender, EventArgs e)
 {
     BeginInvoke((MethodInvoker) delegate
     {
         tmUpdateOnlineContacts.Stop();
         if (null != contactsMesh)
         {
             System.Runtime.InteropServices.Marshal.FinalReleaseComObject(contactsMesh);
         }
         contactsMesh = null;
     });         // Sign out process has finished
                 // Destroy hidden main window if sign out was initiated earlier
                 // when user tried to exit while Loudtalks Mesh control was signed into network.
     if (bExitOnSignout)
     {
         if (axMesh != null)
         {
             axMesh = null;
         }
         Close();
     }
     else
     {
         UpdateMenuState();
         UpdateControlsState();
     }
 }
Esempio n. 3
0
 public void axMesh_SignOutStarted(Object sender, EventArgs e)
 {
     // Sign out process has started
     UpdateMenuState();
     UpdateControlsState();
     BeginInvoke((MethodInvoker) delegate
     {
         tmUpdateOnlineContacts.Stop();
         if (null != contactsMesh)
         {
             System.Runtime.InteropServices.Marshal.FinalReleaseComObject(contactsMesh);
         }
         contactsMesh = null;
     });
 }
Esempio n. 4
0
 void tmUpdateOnlineContacts_Tick(object sender, EventArgs e)
 {
     if (bUpdateOnlineContats)
     {
         List <ContactInfo> lst     = new List <ContactInfo>(10);
         List <ContactInfo> lstLive = new List <ContactInfo>(10);
         bUpdateOnlineContats = false;
         PttLib.IContacts cnts = axMesh.Contacts;
         int idxMax            = cnts.Count;
         for (int idx = 0; idx < idxMax; ++idx)
         {
             PttLib.IContact      cnt = cnts.get_Item(idx);
             PttLib.ONLINE_STATUS st  = cnt.Status;
             if (st == PttLib.ONLINE_STATUS.OSAVAILABLE || st == PttLib.ONLINE_STATUS.OSSTANDBY || st == PttLib.ONLINE_STATUS.OSHEADPHONES ||
                 st == PttLib.ONLINE_STATUS.OSAWAY || st == PttLib.ONLINE_STATUS.OSBUSY)
             {
                 ContactInfo cn = new ContactInfo();
                 cn.id = cnt.Id;
                 if (cnt.Type == PttLib.CONTACT_TYPE.CTCHANNEL)
                 {
                     cn.name = cnt.Name + "(channel)";
                 }
                 else if (cnt.Type == PttLib.CONTACT_TYPE.CTGROUP)
                 {
                     cn.name = cnt.Name + "(group)";
                 }
                 else
                 {
                     cn.name = cnt.Name;
                 }
                 lst.Add(cn);
                 if (st != PttLib.ONLINE_STATUS.OSSTANDBY)
                 {
                     lstLive.Add(cn);
                 }
             }
         }
         reloadList(cbForwardAudio, lstLive);
         reloadList(cbSendAudioFile, lst);
     }
 }
Esempio n. 5
0
 public void axMesh_SignInSucceeded(Object sender, EventArgs e)
 {
     // Sign in process has finished successfully
     UpdateMenuState();
     UpdateControlsState();
     if (axMesh.Contacts.Count > 0)
     {
         axMesh.SelectContact(axMesh.Contacts.get_Item(0));
     }
     BeginInvoke((MethodInvoker) delegate
     {
         tmUpdateOnlineContacts.Start();
         if (null != contactsMesh)
         {
             System.Runtime.InteropServices.Marshal.FinalReleaseComObject(contactsMesh);
         }
         contactsMesh     = axMesh.Contacts;
         cbChorus.Checked = (axMesh.GetOcx() as PttLib.IPtt4).Chorus;
         UpdateIntegrationControlsState();
     });
 }