Ejemplo n.º 1
0
void
PlaySoundEffect (SOUND S, COUNT Channel, SoundPosition Pos,
		void *PositionalObject, BYTE Priority)
{
	if (!(GLOBAL (glob_flags) & SOUND_DISABLED))
	{
		SetChannelVolume (Channel, MAX_VOLUME >> 1, Priority);
		SetChannelRate (Channel, GetSampleRate (S), Priority);
		PlayChannel (Channel, GetSampleAddress (S), Pos, PositionalObject, Priority);
	}
Ejemplo n.º 2
0
void ZephyrXtreme::ProcessStatus(const QString &str)
{
  QStringList f0=str.split(":");
  QString rhs;
  bool ok=false;
  int rate=0;

  //  printf("ProcessStatus: %s\n",(const char *)str.toAscii());

  if(str.left(16).toLower()==">>calling number") {
    QStringList f1=str.right(str.length()-17).split(" ");
    if(f1.size()>=4) {
      int line=f1[3].toInt(&ok)-1;
      if(ok&&(line<2)) {
	zep_dialed_string[line]=f1[0].trimmed();
	emit dialedStringChanged(line,zep_dialed_string[line]);
      }
      else {
	syslog(LOG_WARNING,"zephyr xtreme: unrecognized string \"%s\"",
	       (const char *)str.toAscii());
      }
    }
  }

  if(f0.size()>=2) {
    for(int i=1;i<f0.size();i++) {
      rhs+=(f0[i]+":");
    }
    rhs=rhs.left(rhs.size()-1).trimmed();
    if(f0[0].toLower()=="lines status 1 & 2............") {
      QStringList f1=rhs.split(" ",QString::SkipEmptyParts);
      if(f1.size()==2) {
	for(int i=0;i<2;i++) {
	  if(f1[i].toLower().left(4)=="conn") {
	    SetState(i,LPSwitcher::StateConnected);
	    if(!zep_pending_string[i].isEmpty()) {
	      zep_dialed_string[i]=zep_pending_string[i];
	      zep_pending_string[i]="";
	      emit dialedStringChanged(i,zep_dialed_string[i]);
	    }
	  }
	  else {
	    if(f1[i].toLower().left(4)=="disc") {
	      SetState(i,LPSwitcher::StateDisconnecting);
	    }
	    else {
	      if(f1[i].toLower()=="ready") {
		SetState(i,LPSwitcher::StateIdle);
	      }
	      else {
		SetState(i,LPSwitcher::StateOffline);
	      }
	      zep_dialed_string[i]="";
	      emit dialedStringChanged(i,"");
	    }
	  }
	}
      }
    }
    if(f0[0].toLower()=="decoder status................") {
      bool locked=f0[1].trimmed().toLower()=="locked";
      if(locked!=zep_locked) {
	zep_locked=locked;
	emit lockChanged(0,locked);
	printf("lockChanged(0,%d)\n",locked);
	emit lockChanged(1,locked);
	printf("lockChanged(1,%d)\n",locked);
      }
    }
    if(f0[0].toLower()=="transmitter mode..............") {
      if(rhs.toLower()=="l3 dual/mono") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3DualMono);
      }
      if(rhs.toLower()=="l3 stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3Stereo);
      }
      if(rhs.toLower()=="l3 j-stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3JointStereo);
      }
      if(rhs.toLower()=="l3 mono 128") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3Mono128);
      }
      if(rhs.toLower()=="g.722") {
	SetXmtAlgorithm(LPSwitcher::XmtG722);
      }
      if(rhs.toLower()=="l2 mono 64") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Mono64);
      }
      if(rhs.toLower()=="l2 mono 128") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Mono128);
      }
      if(rhs.toLower()=="l2 j-stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2JointStereo);
      }
      if(rhs.toLower()=="l2 stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Stereo);
      }
      if(rhs.toLower()=="l2 half 64") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Half64);
      }
      if(rhs.toLower()=="aac-ld mono 64") {
	SetXmtAlgorithm(LPSwitcher::XmtAacLdMono64);
      }
      if(rhs.toLower()=="aac-ld stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtAacLdStereo);
      }
      if(rhs.toLower()=="aac-ld j-stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtAacLdJointStereo);
      }
      if(rhs.toLower()=="aac j-stereo 64") {
	SetXmtAlgorithm(LPSwitcher::XmtAacLdJointStereo64);
      }
      if(rhs.toLower()=="aac-ld mono 128") {
	SetXmtAlgorithm(LPSwitcher::XmtAacLdMono128);
      }
      if(rhs.toLower()=="aac-ld mono 64") {
	SetXmtAlgorithm(LPSwitcher::XmtAacLdMono64);
      }
      if(rhs.toLower()=="aac j-stereo 64") {
	SetXmtAlgorithm(LPSwitcher::XmtAacJointStereo64);
      }
      if(rhs.toLower()=="aac stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtAacStereo);
      }
      if(rhs.toLower()=="aac j-stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtAacJointStereo);
      }
      if(rhs.toLower()=="aac mono 128") {
	SetXmtAlgorithm(LPSwitcher::XmtAacMono128);
      }
      if(rhs.toLower()=="aac mono 64") {
	SetXmtAlgorithm(LPSwitcher::XmtAacMono64);
      }
    }
    if(f0[0].toLower()=="receiver mode.................") {
      if(rhs.toLower()=="l3 dual/mono") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL3Mono);
      }
      if(rhs.toLower()=="l3") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL3);
      }
      if(rhs.toLower()=="g.722") {
	SetRcvAlgorithm(LPSwitcher::RcvG722);
      }
      if(rhs.toLower()=="l2") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL2);
      }
      if(rhs.toLower()=="l2 mono 64") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL2Mono64);
      }
      if(rhs.toLower()=="aac-ld") {
	SetRcvAlgorithm(LPSwitcher::RcvAacLd);
      }
      if(rhs.toLower()=="aac-ld mono 64") {
	SetRcvAlgorithm(LPSwitcher::RcvAacLdMono64);
      }
      if(rhs.toLower()=="aac") {
	SetRcvAlgorithm(LPSwitcher::RcvAac);
      }
      if(rhs.toLower()=="aac 64") {
	SetRcvAlgorithm(LPSwitcher::RcvAac64);
      }
      if(rhs.toLower()=="auto") {
	SetRcvAlgorithm(LPSwitcher::RcvAuto);
      }
    }
    if(f0[0].toLower()=="rates.........................") {
      rate=rhs.toInt(&ok);
      if(ok) {
	SetSampleRate(rate);
      }
    }
    if(f0[0].toLower()=="bit rates.....................") {
      QStringList f1=rhs.split(" ");
      rate=f1[0].toInt(&ok);
      if(ok) {
	switch(rate) {
	case 56:
	  SetChannelRate(LPSwitcher::Channel56Kbit);
	  break;

	case 64:
	  SetChannelRate(LPSwitcher::Channel64Kbit);
	  break;
	}
      }
    }
  }
}
void ZephyrClassic::ProcessStatus(const QString &str)
{
  QStringList f0=str.split(":");
  QString rhs;
  bool ok=false;

  //printf("ProcessStatus: %s\n",(const char *)str.toAscii());

  if(str.left(16).toLower()==">>calling number") {
    QStringList f1=str.right(str.length()-17).split(" ");
    if(f1.size()>=4) {
      int line=f1[3].toInt(&ok)-1;
      if(ok&&(line<2)) {
	zep_dialed_string[line]=f1[0].trimmed();
	emit dialedStringChanged(line,zep_dialed_string[line]);
      }
      else {
	syslog(LOG_WARNING,"zephyr classic: unrecognized string \"%s\"",
	       (const char *)str.toAscii());
      }
    }
  }

  if(f0.size()>=2) {
    for(int i=1;i<f0.size();i++) {
      rhs+=(f0[i]+":");
    }
    rhs=rhs.left(rhs.size()-1).trimmed();
    if(f0[0].toLower()=="line status 1 & 2..") {
      QStringList f1=rhs.split(" ",QString::SkipEmptyParts);
      if(f1.size()==2) {
	for(int i=0;i<2;i++) {
	  if(f1[i].contains(":")) {
	    SetState(i,LPSwitcher::StateConnected);
	    if(!zep_pending_string[i].isEmpty()) {
	      zep_dialed_string[i]=zep_pending_string[i];
	      zep_pending_string[i]="";
	      emit dialedStringChanged(i,zep_dialed_string[i]);
	    }
	  }
	  else {
	    if(f1[i].toLower().left(4)=="conn") {
	      SetState(i,LPSwitcher::StateProgressing);
	    }
	    else {
	      if(f1[i].toLower().left(4)=="disc") {
		SetState(i,LPSwitcher::StateDisconnecting);
	      }
	      else {
		if(f1[i].toLower()=="ready") {
		  SetState(i,LPSwitcher::StateIdle);
		}
		else {
		  SetState(i,LPSwitcher::StateOffline);
		}
		zep_dialed_string[i]="";
		emit dialedStringChanged(i,"");
	      }
	    }
	  }
	}
      }
    }
    if(f0[0].toLower()=="decoder status.....") {
      bool locked=f0[1].trimmed().toLower()=="locked";
      if(locked!=zep_locked) {
	zep_locked=locked;
	emit lockChanged(0,locked);
	emit lockChanged(1,locked);
      }
    }
    if(f0[0].toLower()=="transmitter mode...") {
      if(rhs.toLower()=="l3-dual") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3DualMono);
      }
      if(rhs.toLower()=="l3-stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3Stereo);
      }
      if(rhs.toLower()=="l3-jstereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL3JointStereo);
      }
      if(rhs.toLower()=="g.722") {
	SetXmtAlgorithm(LPSwitcher::XmtG722);
      }
      if(rhs.toLower()=="l2-mono") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Mono64);
      }
      if(rhs.toLower()=="l2-mono128") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Mono128);
      }
      if(rhs.toLower()=="l2-jstereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2JointStereo);
      }
      if(rhs.toLower()=="l2-stereo") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Stereo);
      }
      if(rhs.toLower()=="l2-half/24") {
	SetXmtAlgorithm(LPSwitcher::XmtMpegL2Half64);
      }
    }
    if(f0[0].toLower()=="receiver mode......") {
      if(rhs.toLower()=="l3-mono") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL3Mono);
      }
      if(rhs.toLower()=="l3-stereo") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL3);
      }
      if(rhs.toLower()=="g.722") {
	SetRcvAlgorithm(LPSwitcher::RcvG722);
      }
      if(rhs.toLower()=="l2-half/24") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL2Half64);
      }
      if(rhs.toLower()=="l2") {
	SetRcvAlgorithm(LPSwitcher::RcvMpegL2);
      }
    }
    if(f0[0].toLower()=="rates..............") {
      QStringList f1=rhs.split("/");
      if(f1.size()==2) {
	if(f1[0].toLower()=="56kbps") {
	  SetChannelRate(LPSwitcher::Channel56Kbit);
	}
	if(f1[0].toLower()=="64kbps") {
	  SetChannelRate(LPSwitcher::Channel64Kbit);
	}
	if(f1[1].toLower()=="32khz") {
	  SetSampleRate(32000);
	}
	if(f1[1].toLower()=="48khz") {
	  SetSampleRate(48000);
	}
      }
    }
  }
}