예제 #1
0
 public void unsetSoloTrack(MixerStrip strip)
 {
     for (int i = 0; i < stripCount; i++)
     {
         if (mixerStrips[i] != strip)
         {
             mixerStrips[i].setSoloing(false);
         }
     }
 }
예제 #2
0
        public void unsetRecordingTrack(MixerStrip strip)
        {
            int recNum = strip.trackNumber;

            for (int i = 0; i < stripCount; i++)
            {
                if (mixerStrips[i] != strip)
                {
                    //mixerStrips[i].btnSolo.Enabled = true;
                }
            }
        }
예제 #3
0
        public void setRecordingTrack(MixerStrip strip)
        {
            int recNum = strip.trackNumber;

            for (int i = 0; i < stripCount; i++)
            {
                if (mixerStrips[i] != strip)
                {
                    mixerStrips[i].setRecording(false);
                    mixerStrips[i].setSoloing(false);
                    //mixerStrips[i].btnMute.Enabled = true;
                    //mixerStrips[i].btnSolo.Enabled = false;
                }
            }
        }
예제 #4
0
        public void deleteMixerStrip(MixerStrip strip)
        {
            //int stripPos = mixerStrips.IndexOf(strip);
            mixerStrips.Remove(strip);
            this.Controls.Remove(strip);
            strip.close();
            stripCount--;

            this.MaximumSize = new Size(Int32.MaxValue, this.Height);           //allow temp resizing

            stripWidth = mixerStrips.Count * MixerStrip.STRIPWIDTH;
            int diff = (mixmaster.Width + stripWidth) - this.ClientSize.Width; //amount mixmaster is covering mixer strips

            if (diff <= 0)                                                     //if mixer window is full width
            {
                stripScroll.Width = stripWidth;
                int leftPos = 0;
                for (int i = 0; i < stripCount; i++)
                {
                    mixerStrips[i].Left = leftPos;
                    leftPos            += MixerStrip.STRIPWIDTH;
                }
                mixmaster.Location = new Point(stripWidth, 0);
                this.ClientSize    = new Size(stripWidth + mixmaster.Width, MixerStrip.STRIPHEIGHT + stripScroll.Height);
            }
            else
            {
                int leftPos = 0;
                for (int i = 0; i < stripCount; i++)
                {
                    mixerStrips[i].Left = leftPos;
                    leftPos            += MixerStrip.STRIPWIDTH;
                }
                stripScroll.Maximum = diff + stripScroll.LargeChange - 1;
                stripScroll.Value   = 0;
            }

            //set minimum width to width of one track strip so one will always be visible
            if (stripCount == 1)
            {
                this.MinimumSize = new Size(this.Width, this.Height);
            }
            mixermaxWidth -= MixerStrip.STRIPWIDTH;
            //this.MaximumSize = new Size(mixermaxWidth, this.Height);       //but don't allow mixer to be stretched past strips + master width
            Invalidate();
        }
예제 #5
0
//-----------------------------------------------------------------------------

        public void addMixerStrip(X1Track track)
        {
            MixerStrip strip = new MixerStrip(this, track);

            mixerStrips.Add(strip);
            stripPanel.Controls.Add(strip);
            stripCount++;

            int xpos = 0;

            foreach (MixerStrip mixStrip in mixerStrips)
            {
                mixStrip.Location = new Point(xpos, 0);
                xpos += MixerStrip.STRIPWIDTH;
            }
            stripPanel.Size  = new Size(xpos, MixerStrip.STRIPHEIGHT);
            this.MaximumSize = new Size((this.Right - mixmaster.Left) + stripPanel.Width, this.Height);
            updateScrollBar();
            Invalidate();
        }