summaryrefslogtreecommitdiff
path: root/muse2/muse/audiotrack.cpp
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2012-09-30 21:53:03 +0000
committerRobert Jonsson <spamatica@gmail.com>2012-09-30 21:53:03 +0000
commite1a3d5b87883b5faadbd43326326d4c5aadc871d (patch)
treeecbb1a0aa3d5e05039ac5d08ad57bc1d056f072e /muse2/muse/audiotrack.cpp
parent6db72b766ea8bf781d0172a62f873104b2e7cab6 (diff)
various fixes and changes
Diffstat (limited to 'muse2/muse/audiotrack.cpp')
-rw-r--r--muse2/muse/audiotrack.cpp42
1 files changed, 39 insertions, 3 deletions
diff --git a/muse2/muse/audiotrack.cpp b/muse2/muse/audiotrack.cpp
index b9e245d2..f9c298a6 100644
--- a/muse2/muse/audiotrack.cpp
+++ b/muse2/muse/audiotrack.cpp
@@ -1710,9 +1710,32 @@ void AudioAux::write(int level, Xml& xml) const
{
xml.tag(level++, "AudioAux");
AudioTrack::writeProperties(level, xml);
+ xml.intTag(level, "index", _index);
xml.etag(level, "AudioAux");
}
+
+//---------------------------------------------------------
+// getNextAuxIndex
+//---------------------------------------------------------
+int getNextAuxIndex()
+{
+ printf("getNextAuxIndex!\n");
+ int curAux=0;
+ AuxList * al = MusEGlobal::song->auxs();
+ for (MusECore::iAudioAux i = al->begin(); i != al->end(); ++i)
+ {
+ MusECore::AudioAux* ax = *i;
+ printf("ax index %d\n", ax->index());
+ if (ax->index() > curAux)
+ {
+ printf("found new index! %d\n", ax->index());
+ curAux = ax->index();
+ }
+ }
+ return curAux+1;
+}
+
//---------------------------------------------------------
// AudioAux
//---------------------------------------------------------
@@ -1720,25 +1743,27 @@ void AudioAux::write(int level, Xml& xml) const
AudioAux::AudioAux()
: AudioTrack(AUDIO_AUX)
{
+ _index = getNextAuxIndex();
for(int i = 0; i < MAX_CHANNELS; ++i)
{
if(i < channels())
posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize);
else
buffer[i] = 0;
- }
+ }
}
AudioAux::AudioAux(const AudioAux& t, int flags)
: AudioTrack(t, flags)
{
+ _index = getNextAuxIndex();
for(int i = 0; i < MAX_CHANNELS; ++i)
{
if(i < channels())
posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize);
else
buffer[i] = 0;
- }
+ }
}
//---------------------------------------------------------
// AudioAux
@@ -1766,7 +1791,9 @@ void AudioAux::read(Xml& xml)
case Xml::End:
return;
case Xml::TagStart:
- if (AudioTrack::readProperties(xml, tag))
+ if (tag == "index")
+ _index = xml.parseInt();
+ else if (AudioTrack::readProperties(xml, tag))
xml.unknown("AudioAux");
break;
case Xml::Attribut:
@@ -1839,6 +1866,15 @@ void AudioAux::setChannels(int n)
}
//---------------------------------------------------------
+// setName
+//---------------------------------------------------------
+
+QString AudioAux::auxName()
+{
+ return QString("%1:").arg(index())+ name();
+}
+
+//---------------------------------------------------------
// setRecordFlag1
// gui part (executed in gui thread)
//---------------------------------------------------------