本文整理汇总了C++中AudioTrack::name方法的典型用法代码示例。如果您正苦于以下问题:C++ AudioTrack::name方法的具体用法?C++ AudioTrack::name怎么用?C++ AudioTrack::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AudioTrack
的用法示例。
在下文中一共展示了AudioTrack::name方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: name2route
Route name2route(const QString& rn, bool /*dst*/, int rtype)/*{{{*/
{
// printf("name2route %s\n", rn.toLatin1().constData());
int channel = -1;
QString s(rn);
// Support old route style in oom files. Obsolete.
if (rn.size() >= 2 && rn[0].isNumber() && rn[1] == ':')
{
channel = rn[0].toAscii() - int('1');
s = rn.mid(2);
}
if (rtype == -1)
{
if (checkAudioDevice())
{
void* p = audioDevice->findPort(s.toLatin1().constData());
if (p)
return Route(p, channel);
}
TrackList* tl = song->tracks();
for (iTrack i = tl->begin(); i != tl->end(); ++i)
{
if ((*i)->isMidiTrack())
{
MidiTrack* track = (MidiTrack*) * i;
if (track->name() == s)
return Route(track, channel);
}
else
{
AudioTrack* track = (AudioTrack*) * i;
if (track->name() == s)
return Route(track, channel);
}
}
for (iMidiDevice i = midiDevices.begin(); i != midiDevices.end(); ++i)
{
if ((*i)->name() == s)
return Route(*i, channel);
}
// p3.3.49
if (s.left(ROUTE_MIDIPORT_NAME_PREFIX.length()) == ROUTE_MIDIPORT_NAME_PREFIX)
{
bool ok = false;
int port = s.mid(ROUTE_MIDIPORT_NAME_PREFIX.length()).toInt(&ok);
if (ok)
return Route(port, channel);
}
}
else
{
if (rtype == Route::TRACK_ROUTE)
{
TrackList* tl = song->tracks();
for (iTrack i = tl->begin(); i != tl->end(); ++i)
{
if ((*i)->isMidiTrack())
{
MidiTrack* track = (MidiTrack*) * i;
if (track->name() == s)
return Route(track, channel);
}
else
{
AudioTrack* track = (AudioTrack*) * i;
if (track->name() == s)
return Route(track, channel);
}
}
}// TODO Distinguish the device types
else if (rtype == Route::MIDI_DEVICE_ROUTE)
{
for (iMidiDevice i = midiDevices.begin(); i != midiDevices.end(); ++i)
{
if ((*i)->name() == s)
return Route(*i, channel);
}
}
else if (rtype == Route::JACK_ROUTE)
{
if (checkAudioDevice())
{
void* p = audioDevice->findPort(s.toLatin1().constData());
if (p)
return Route(p, channel);
}
}
else if (rtype == Route::MIDI_PORT_ROUTE) // p3.3.49
{
if (s.left(ROUTE_MIDIPORT_NAME_PREFIX.length()) == ROUTE_MIDIPORT_NAME_PREFIX)
{
bool ok = false;
int port = s.mid(ROUTE_MIDIPORT_NAME_PREFIX.length()).toInt(&ok);
if (ok)
return Route(port, channel);
}
//.........这里部分代码省略.........
示例2: trackSelectionChanged
void AudioPortConfig::trackSelectionChanged()
{
routeList->clear();
newSrcList->clear();
newDstList->clear();
QListWidgetItem* titem = tracksList->currentItem();
AudioTrack* atrack = (AudioTrack*)song->findTrack(titem->text());
if(atrack)
{
_selected = atrack;
selectedIndex = tracksList->row(titem);
//TrackList* tl = song->tracks();
//for(iTrack t = tl->begin(); t != tl->end(); ++t)
//{
// if((*t)->isMidiTrack())
// continue;
// AudioTrack* track = (AudioTrack*) (*t);
// if(track->name() == atrack->name())
// continue; //You cant connect a track to itself
//int channels = track->channels();
switch (atrack->type())
{
case Track::WAVE_OUTPUT_HELPER:/*{{{*/
for(iTrack t = song->tracks()->begin(); t != song->tracks()->end(); ++t)
{
if((*t)->isMidiTrack())
continue;
AudioTrack* track = (AudioTrack*) (*t);
if(track->name() == atrack->name() || track->type() == Track::WAVE_OUTPUT_HELPER)
continue; //You cant connect a track to itself
//for (int channel = 0; channel < track->channels(); ++channel)
//{
Route r(track, -1);
newSrcList->addItem(r.name());
//}
}
insertInputs();
//newDstList->addItem(Route(track, -1).name());
break;
case Track::WAVE_INPUT_HELPER:
for(iTrack t = song->tracks()->begin(); t != song->tracks()->end(); ++t)
{
if((*t)->isMidiTrack())
continue;
AudioTrack* track = (AudioTrack*) (*t);
if(track->name() == atrack->name())
continue; //You cant connect a track to itself
switch(track->type())
{
case Track::WAVE_OUTPUT_HELPER:
case Track::WAVE:
newDstList->addItem(Route(track, -1).name());
break;
default:
break;
}
}
insertOutputs();
break;
case Track::WAVE:
for(iTrack t = song->tracks()->begin(); t != song->tracks()->end(); ++t)
{
if((*t)->isMidiTrack())
continue;
AudioTrack* track = (AudioTrack*) (*t);
if(track->name() == atrack->name())
continue; //You cant connect a track to itself
if(track->type() == Track::WAVE_INPUT_HELPER)
{
newSrcList->addItem(Route(track, -1).name());
}
else if(track->type() == Track::WAVE_OUTPUT_HELPER)
{
newDstList->addItem(Route(track, -1).name());
}
}
break;
default:
break;/*}}}*/
}
//}
QTreeWidgetItem* widgetItem;
const RouteList* rl = atrack->outRoutes();
for (ciRoute r = rl->begin(); r != rl->end(); ++r)
{
QString src("");
if (atrack->type() == Track::WAVE_OUTPUT_HELPER)
{
widgetItem = new QTreeWidgetItem(routeList, QStringList() << src << QString("") << atrack->name() << r->name() << QString::number(r->channel), Track::WAVE_OUTPUT_HELPER);
}
else
{
widgetItem = new QTreeWidgetItem(routeList, QStringList() << src << QString("") << atrack->name() << r->name() << QString::number(0), Track::WAVE_OUTPUT_HELPER);
}
widgetItem->setTextAlignment(1, Qt::AlignHCenter);
widgetItem->setTextAlignment(4, Qt::AlignHCenter);
}
const RouteList* rli = atrack->inRoutes();
for (ciRoute ri = rli->begin(); ri != rli->end(); ++ri)
//.........这里部分代码省略.........