void init_sound_system() { char lod_buf[30000]; WORD ltatten, rtatten, ltgain, rtgain; /* Lock Sound System */ locksnd(); /* Save old settings */ ltatten = soundcmd(LTATTEN, -1); rtatten = soundcmd(RTATTEN, -1); ltgain = soundcmd(LTGAIN, -1); rtgain = soundcmd(RTGAIN, -1); /* Reset sound system */ sndstatus(1); /* Restore old settings */ soundcmd(LTATTEN, ltatten); soundcmd(RTATTEN, rtatten); soundcmd(LTGAIN, ltgain); soundcmd(RTGAIN, rtgain); /* Set some necessary parameters */ settracks(0,0); setmontracks(0); setmode(STEREO16); setbuffer(0,sound,sound+sizeof(sound)); soundcmd(ADDERIN, 0x2); soundcmd(ADCINPUT, 0x0); /* DSP side */ dsptristate(ENABLE, ENABLE); dsp_abil = Dsp_RequestUniqueAbility(); /* Dsp_LoadProg(DSP_LOD, dsp_abil, lod_buf); */ Dsp_ExecProg(dsp_bin, sizeof(dsp_bin)/3, dsp_abil); /* Connect DMA playback with DSP and then to DAC */ switch (options.function) { case replay: devconnect(DMAPLAY, DSPRECV, CLK25M, options.prescale, NO_SHAKE); devconnect(DSPXMIT, DAC, CLK25M, options.prescale, NO_SHAKE); break; case record: break; case thru: devconnect(ADC, DSPRECV, CLK25M, options.prescale, NO_SHAKE); devconnect(DSPXMIT, DAC, CLK25M, options.prescale, NO_SHAKE); break; } Dsp_BlkUnpacked(&options.dsp.mono, 1L, 0L, 0L); Dsp_BlkUnpacked(&options.dsp.karaoke, 1L, 0L, 0L); Dsp_BlkUnpacked(&options.dsp.flange, 1L, 0L, 0L); }
void exit_sound_system() { WORD ltatten, rtatten, ltgain, rtgain; /* Save old settings */ ltatten = soundcmd(LTATTEN, -1); rtatten = soundcmd(RTATTEN, -1); ltgain = soundcmd(LTGAIN, -1); rtgain = soundcmd(RTGAIN, -1); /* Reset sound system */ sndstatus(1); /* Restore old settings */ soundcmd(LTATTEN, ltatten); soundcmd(RTATTEN, rtatten); soundcmd(LTGAIN, ltgain); soundcmd(RTGAIN, rtgain); /* Set some necessary parameters */ settracks(0,0); setmontracks(0); setmode(STEREO16); soundcmd(ADDERIN, 0x2); soundcmd(ADCINPUT, 0x0); devconnect(ADC, DAC, CLK25M, CLK50K, 1); /* Unlock Sound System */ unlocksnd(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { this->setWindowIcon(QIcon(":res/123.png")); mdi = new QMdiArea(this); this->setCentralWidget(mdi); QDockWidget* dock = new QDockWidget(tr("Script log"),this); dock->setObjectName(tr("ScriptLogDock")); logText = new QTextEdit(dock); logText->setReadOnly(true); logText->setLineWrapMode(QTextEdit::NoWrap); dock->setWidget(logText); this->addDockWidget(Qt::BottomDockWidgetArea, dock); if(hidenum == 0){ hidenum = new QUsbHidEnumerator(this); } if(hid == 0){ hid = new QUsbHid(this); } connect(hidenum, SIGNAL(deviceDiscovered(QUsbHidInfo)), this, SLOT(devconnect(QUsbHidInfo))); connect(hidenum, SIGNAL(deviceRemoved(QUsbHidInfo)), this, SLOT(devdisconnect(QUsbHidInfo))); connect(hid, SIGNAL(readyRead()), this, SLOT(readyReadData())); hidenum->setUpNotifications(0x250,0x250); QList<QUsbHidInfo> devs = QUsbHid::enumDevices(0x250,0x250); if(devs.size()){ hidpath = devs.at(0).path; } QMenu* menu = 0; QList<QAction*> list = menuBar()->actions(); foreach(QAction* act, list){ if( act->text().contains(tr("help"),Qt::CaseInsensitive) ){ menu = act->menu(); } } if(menu == 0){ menu = menuBar()->addMenu(tr("&Help")); } menu->addAction(dock->toggleViewAction()); menu->addSeparator(); QAction* act = menu->addAction(tr("&About...")); connect(act,SIGNAL(triggered()),this,SLOT(my_about())); act = menu->addAction(tr("Send")); connect(act,SIGNAL(triggered()),this,SLOT(my_send())); this->setWindowTitle(QString::fromLocal8Bit("Tool Box")); //test_hid_devices(this); }
static void falcon_dmasound_init(void) { /* * connect DMA playback to DAC (headphone/speaker) * set clock = internal 25.175MHz * set TT/STe compatibility mode * disable handshaking */ devconnect(0,8,0,0,1); setsndmode(0); /* set 8-bit stereo */ soundcmd(2,0x0080); /* set left gain = 8 */ soundcmd(3,0x0080); /* set right gain = 8 */ soundcmd(4,0x0003); /* set ADDER input to ADC & connection matrix */ soundcmd(5,0x0003); /* set L & R channel ADC source to PSG */ soundcmd(6,0x0003); /* set TT-compatible prescale to /160 = 50MHz */ }