コード例 #1
0
ファイル: CActPerfBGA.cs プロジェクト: limyz/DTXmaniaNX
 public void Start(EChannel nチャンネル, CDTX.CBMP bmp, CDTX.CBMPTEX bmptex, int n開始サイズW, int n開始サイズH, int n終了サイズW, int n終了サイズH, int n画像側開始位置X, int n画像側開始位置Y, int n画像側終了位置X, int n画像側終了位置Y, int n表示側開始位置X, int n表示側開始位置Y, int n表示側終了位置X, int n表示側終了位置Y, int n総移動時間ms, int n移動開始時刻ms)
 {
     for (int i = 0; i < 8; i++)
     {
         if (nチャンネル == this.nChannel[i])
         {
             this.stLayer[i].rBMP           = bmp;
             this.stLayer[i].rBMPTEX        = bmptex;
             this.stLayer[i].sz開始サイズ.Width  = n開始サイズW;
             this.stLayer[i].sz開始サイズ.Height = n開始サイズH;
             this.stLayer[i].sz終了サイズ.Width  = n終了サイズW;
             this.stLayer[i].sz終了サイズ.Height = n終了サイズH;
             this.stLayer[i].pt画像側開始位置.X    = n画像側開始位置X;
             this.stLayer[i].pt画像側開始位置.Y    = n画像側開始位置Y;
             this.stLayer[i].pt画像側終了位置.X    = n画像側終了位置X;
             this.stLayer[i].pt画像側終了位置.Y    = n画像側終了位置Y;
             this.stLayer[i].pt表示側開始位置.X    = n表示側開始位置X;
             this.stLayer[i].pt表示側開始位置.Y    = n表示側開始位置Y;
             this.stLayer[i].pt表示側終了位置.X    = n表示側終了位置X;
             this.stLayer[i].pt表示側終了位置.Y    = n表示側終了位置Y;
             this.stLayer[i].n総移動時間ms       = n総移動時間ms;
             this.stLayer[i].n移動開始時刻ms      = (n移動開始時刻ms != -1) ? n移動開始時刻ms : CDTXMania.Timer.nCurrentTime;
         }
     }
 }
コード例 #2
0
        public void SetChannel(Vector2i index, float value, EChannel chanel, float blend)
        {
            dirty = true;
            Color col = m_Colors[index.Y * m_Height + index.X];

            col[(int)chanel] = Mathf.Lerp(col[(int)chanel], value, blend);
            m_Colors[index.Y * m_Height + index.X] = col;
        }
コード例 #3
0
        public void AddChannel(Vector2i index, float value, EChannel chanel)
        {
            dirty = true;
            Color col = m_Colors[index.Y * m_Height + index.X];

            col[(int)chanel] = Mathf.Clamp01(col[(int)chanel] + value);
            m_Colors[index.Y * m_Height + index.X] = col;
        }
コード例 #4
0
        public void SetChannel(Vector2i index, float value, EChannel chanel)
        {
            dirty = true;
            Color col = m_Colors[index.Y * m_Height + index.X];

            col[(int)chanel] = value;
            m_Colors[index.Y * m_Height + index.X] = col;
        }
コード例 #5
0
 public SplitChannelSettings(Image previewControl, Image tooltipControl, CheckBox invertCheckbox, Button saveButton, ImagePicker imagePicker, EChannel targetChannel)
 {
     this.previewControl = previewControl;
     this.tooltipControl = tooltipControl;
     this.invertCheckbox = invertCheckbox;
     this.saveButton     = saveButton;
     this.targetChannel  = targetChannel;
     this.imagePicker    = imagePicker;
 }
コード例 #6
0
ファイル: CActPerfBGA.cs プロジェクト: limyz/DTXmaniaNX
        // メソッド

        public void ChangeScope(EChannel nチャンネル, CDTX.CBMP bmp, CDTX.CBMPTEX bmptex)
        {
            for (int i = 0; i < 8; i++)
            {
                if (nチャンネル == this.nChannel[i])
                {
                    this.stLayer[i].rBMP    = bmp;
                    this.stLayer[i].rBMPTEX = bmptex;
                    return;
                }
            }
        }
コード例 #7
0
        public void SetCoupling(EChannel channel, ECoupling coupling)
        {
            lock (lockObject)
            {
                if (channel == EChannel.CHA)
                {
                    switch (coupling)
                    {
                    case ECoupling.DC:
                        //DC耦合
                        g_CtrlByte0 &= 0xef;
                        g_CtrlByte0 |= 0x10;
                        MyDLLimport.USBCtrlTrans(0x94, g_CtrlByte0, 1);
                        break;

                    case ECoupling.AC:
                        //AC耦合
                        g_CtrlByte0 &= 0xef;
                        MyDLLimport.USBCtrlTrans(0x94, g_CtrlByte0, 1);
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    switch (coupling)
                    {
                    case ECoupling.DC:
                        //DC耦合
                        g_CtrlByte1 &= 0xef;
                        g_CtrlByte1 |= 0x10;
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case ECoupling.AC:
                        //AC耦合
                        g_CtrlByte1 &= 0xef;
                        g_CtrlByte1 |= 0x00;
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
コード例 #8
0
ファイル: SoundManager.cs プロジェクト: poksme/TetriClimber
 internal void play(EChannel eChannel, ESound eSound, float pitch = 0, float volume = 0.5f, bool muteOther = true)
 {
     if ((eChannel == EChannel.BGM && !SettingsManager.Instance.Music)
         || (eChannel == EChannel.SFX && !SettingsManager.Instance.Sfx)
         || (muteOther == false && !channels[eChannel].IsDisposed && channels[eChannel].State == SoundState.Playing))// && channels[eChannel].Equals(tmp)))
         return;
     if (!channels[eChannel].IsDisposed)
     {
         channels[eChannel].Stop();
         channels[eChannel].Dispose();
     }
     channels[eChannel] = sounds[eSound].CreateInstance();
     channels[eChannel].Pitch = pitch;
     channels[eChannel].Volume = volume;
     channels[eChannel].IsLooped = (eChannel == EChannel.BGM);
     //channels[eChannel].IsLooped = loop;
     channels[eChannel].Play();
 }
コード例 #9
0
 public void Start(int nLane, bool bボーナス, EChannel n代入番号)
 {
     for (int j = 0; j < 4; j++)
     {
         if (this.stボーナス[j].b使用中)
         {
             this.stボーナス[j].ct進行.tStop();
             this.stボーナス[j].b使用中 = false;
         }
     }
     for (int i = 0; i < 1; i++)
     {
         for (int j = 0; j < 4; j++)
         {
             if (!this.stボーナス[j].b使用中)
             {
                 this.stボーナス[j].b使用中 = true;
                 this.stボーナス[j].ct進行 = new CCounter(0, 1020, 1, CDTXMania.Timer);
             }
         }
     }
 }
コード例 #10
0
ファイル: CChip.cs プロジェクト: limyz/DTXmaniaNX
 public void t初期化()
 {
     this.nChannelNumber = 0;
     this.nIntegerValue  = 0;
     this.nIntegerValue_InternalNumber = 0;
     this.db実数値             = 0.0;
     this.nPlaybackPosition = 0;
     this.nPlaybackTimeMs   = 0;
     this.bBonusChip        = false;
     this.nLag             = -999;
     this.n楽器パートでの出現順      = -1;
     this.bTargetGhost判定済み = false;
     this.bIsAutoPlayed    = false;
     this.bChipKeepsPlayingAfterPerfEnds = false;
     this.dbChipSizeRatio         = 1.0;
     this.bHit                    = false;
     this.bVisible                = true;
     this.eInstrumentPart         = EInstrumentPart.UNKNOWN;
     this.nTransparency           = 0xff;
     this.nDistanceFromBar.Drums  = 0;
     this.nDistanceFromBar.Guitar = 0;
     this.nDistanceFromBar.Bass   = 0;
     this.n総移動時間                  = 0;
 }
コード例 #11
0
ファイル: SoundManager.cs プロジェクト: poksme/TetriClimber
 internal void stop(EChannel eChannel)
 {
     if (!channels[eChannel].IsDisposed)
     {
         channels[eChannel].Stop();
         channels[eChannel].Dispose();
     }
 }
コード例 #12
0
ファイル: SoundManager.cs プロジェクト: poksme/TetriClimber
 internal void pause(EChannel eChannel)
 {
     channels[eChannel].Pause();
 }
コード例 #13
0
            public static Bitmap ExtractChannel(string imagePath, EChannel channelToExtract, EChannel finalChannel, bool invert, string popupTextExtra = "")
            {
                if (!ImageUtility.Validation.IsValidImage(imagePath))
                {
                    return(new Bitmap(1, 1));
                }

                var bitmap          = new Bitmap(imagePath);
                var extractedBitmap = new Bitmap(bitmap.Width, bitmap.Height, PixelFormat.Format32bppArgb);

                PopupTextWindow.OpenWindowAndExecute($"Generating Texture By Extracting Channel, Please Wait {popupTextExtra}",
                                                     () =>
                {
                    for (int y = 0; y < bitmap.Height; y++)
                    {
                        for (int x = 0; x < bitmap.Width; x++)
                        {
                            Color pixelColor = bitmap.GetPixel(x, y);

                            int intensity;

                            switch (channelToExtract)
                            {
                            case EChannel.R:
                                intensity = pixelColor.R;
                                break;

                            case EChannel.G:
                                intensity = pixelColor.G;
                                break;

                            case EChannel.B:
                                intensity = pixelColor.B;
                                break;

                            case EChannel.A:
                                intensity = ImageUtility.Validation.ImageHasTransparency(imagePath) ? pixelColor.A : 255;
                                break;

                            default:
                                throw new ArgumentOutOfRangeException(nameof(channelToExtract), channelToExtract, null);
                            }

                            if (intensity > 0 & intensity <= 255)
                            {
                                if (invert)
                                {
                                    intensity = 255 - intensity;
                                }

                                switch (finalChannel)
                                {
                                case EChannel.R:
                                    extractedBitmap.SetPixel(x, y, Color.FromArgb(255, intensity, 0, 0));
                                    break;

                                case EChannel.G:
                                    extractedBitmap.SetPixel(x, y, Color.FromArgb(255, 0, intensity, 0));
                                    break;

                                case EChannel.B:
                                    extractedBitmap.SetPixel(x, y, Color.FromArgb(255, 0, 0, intensity));
                                    break;

                                case EChannel.A:
                                    extractedBitmap.SetPixel(x, y, Color.FromArgb(255, intensity, intensity, intensity));
                                    break;

                                default:
                                    throw new ArgumentOutOfRangeException(nameof(finalChannel), finalChannel, null);
                                }
                            }
                            else
                            {
                                extractedBitmap.SetPixel(x, y, Color.FromArgb(0, 0, 0, 0));
                            }
                        }
                    }
                });

                bitmap.Dispose();
                return(extractedBitmap);
            }
コード例 #14
0
        // メソッド

        public void Start(EChannel nチャンネル番号, CDTX.CAVI rAVI, int n開始サイズW, int n開始サイズH, int n終了サイズW, int n終了サイズH, int n画像側開始位置X, int n画像側開始位置Y, int n画像側終了位置X, int n画像側終了位置Y, int n表示側開始位置X, int n表示側開始位置Y, int n表示側終了位置X, int n表示側終了位置Y, int n総移動時間ms, int n移動開始時刻ms, bool bPlayFromBeginning = false)
        {
            //2016.01.21 kairera0467 VfW時代のコードを除去+大改造
            Trace.TraceInformation("CActPerfAVI: Start(): " + rAVI.strファイル名);

            this.rAVI = rAVI;
            #region [ アスペクト比からどっちを使うか判別 ]
            // 旧DShowモードを使っていて、旧規格クリップだったら新DShowモードを使う。
            //if( CDTXMania.ConfigIni.bDirectShowMode == false )
            {
                this.fClipアスペクト比 = ((float)rAVI.avi.nフレーム幅 / (float)rAVI.avi.nフレーム高さ);
                //this.bUseMRenderer = false;
            }

            #endregion

            if (nチャンネル番号 == EChannel.Movie || nチャンネル番号 == EChannel.MovieFull)
            {
                if (this.bUseCAviDS)
                {
                    //CAviDS
                    this.rAVI      = rAVI;
                    this.n開始サイズW   = n開始サイズW;
                    this.n開始サイズH   = n開始サイズH;
                    this.n終了サイズW   = n終了サイズW;
                    this.n終了サイズH   = n終了サイズH;
                    this.n画像側開始位置X = n画像側開始位置X;
                    this.n画像側開始位置Y = n画像側開始位置Y;
                    this.n画像側終了位置X = n画像側終了位置X;
                    this.n画像側終了位置Y = n画像側終了位置Y;
                    this.n表示側開始位置X = n表示側開始位置X;
                    this.n表示側開始位置Y = n表示側開始位置Y;
                    this.n表示側終了位置X = n表示側終了位置X;
                    this.n表示側終了位置Y = n表示側終了位置Y;
                    this.n総移動時間ms  = n総移動時間ms;
                    this.n移動開始時刻ms = (n移動開始時刻ms != -1) ? n移動開始時刻ms : CSoundManager.rcPerformanceTimer.nCurrentTime;

                    if ((this.rAVI != null) && (this.rAVI.avi != null))
                    {
                        float f拡大率x;
                        float f拡大率y;
                        this.framewidth  = (uint)this.rAVI.avi.nフレーム幅;
                        this.frameheight = (uint)this.rAVI.avi.nフレーム高さ;
                        if (this.tx描画用 == null)
                        {
                            this.tx描画用 = new CTexture(CDTXMania.app.Device, (int)this.framewidth, (int)this.frameheight, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.Managed);
                        }

                        if (fClipアスペクト比 < 1.77f)
                        {
                            //旧規格クリップだった場合
                            this.ratio1   = 720f / ((float)this.frameheight);
                            this.position = (int)((1280f - (this.framewidth * this.ratio1)) / 2f);
                            int num = (int)(this.framewidth * this.ratio1);
                            if (num <= 565)
                            {
                                this.position = 295 + ((int)((565f - (this.framewidth * this.ratio1)) / 2f));
                                this.i1       = 0;
                                this.i2       = (int)this.framewidth;
                                this.rec      = new Rectangle(0, 0, 0, 0);
                                this.rec3     = new Rectangle(0, 0, 0, 0);
                                this.rec2     = new Rectangle(0, 0, (int)this.framewidth, (int)this.frameheight);
                            }
                            else
                            {
                                this.position = 295 - ((int)(((this.framewidth * this.ratio1) - 565f) / 2f));
                                this.i1       = (int)(((float)(295 - this.position)) / this.ratio1);
                                this.i2       = (int)((565f / ((float)num)) * this.framewidth);
                                this.rec      = new Rectangle(0, 0, this.i1, (int)this.frameheight);
                                this.rec3     = new Rectangle(this.i1 + this.i2, 0, (((int)this.framewidth) - this.i1) - this.i2, (int)this.frameheight);
                                this.rec2     = new Rectangle(this.i1, 0, this.i2, (int)this.frameheight);
                            }
                            this.tx描画用.vcScaleRatio.X = this.ratio1;
                            this.tx描画用.vcScaleRatio.Y = this.ratio1;
                        }
                        else
                        {
                            //ワイドクリップの処理
                            this.ratio1               = 1280f / ((float)this.framewidth);
                            this.position             = (int)((720f - (this.frameheight * this.ratio1)) / 2f);
                            this.i1                   = (int)(this.framewidth * 0.23046875);
                            this.i2                   = (int)(this.framewidth * 0.44140625);
                            this.rec                  = new Rectangle(0, 0, this.i1, (int)this.frameheight);
                            this.rec2                 = new Rectangle(this.i1, 0, this.i2, (int)this.frameheight);
                            this.rec3                 = new Rectangle(this.i1 + this.i2, 0, (((int)this.framewidth) - this.i1) - this.i2, (int)this.frameheight);
                            this.tx描画用.vcScaleRatio.X = this.ratio1;
                            this.tx描画用.vcScaleRatio.Y = this.ratio1;
                        }


                        if (this.framewidth > 420)
                        {
                            f拡大率x = 420f / ((float)this.framewidth);
                        }
                        else
                        {
                            f拡大率x = 1f;
                        }
                        if (this.frameheight > 580)
                        {
                            f拡大率y = 580f / ((float)this.frameheight);
                        }
                        else
                        {
                            f拡大率y = 1f;
                        }
                        if (f拡大率x > f拡大率y)
                        {
                            f拡大率x = f拡大率y;
                        }
                        else
                        {
                            f拡大率y = f拡大率x;
                        }

                        this.smallvc = new Vector3(f拡大率x, f拡大率y, 1f);
                        this.vclip   = new Vector3(1.42f, 1.42f, 1f);
                        this.rAVI.avi.Run();
                    }
                }
                else
                {
                    this.rAVI          = rAVI;
                    this.n開始サイズW       = n開始サイズW;
                    this.n開始サイズH       = n開始サイズH;
                    this.n終了サイズW       = n終了サイズW;
                    this.n終了サイズH       = n終了サイズH;
                    this.n画像側開始位置X     = n画像側開始位置X;
                    this.n画像側開始位置Y     = n画像側開始位置Y;
                    this.n画像側終了位置X     = n画像側終了位置X;
                    this.n画像側終了位置Y     = n画像側終了位置Y;
                    this.n表示側開始位置X     = n表示側開始位置X;
                    this.n表示側開始位置Y     = n表示側開始位置Y;
                    this.n表示側終了位置X     = n表示側終了位置X;
                    this.n表示側終了位置Y     = n表示側終了位置Y;
                    this.n総移動時間ms      = n総移動時間ms;
                    this.n移動開始時刻ms     = (n移動開始時刻ms != -1) ? n移動開始時刻ms : CSoundManager.rcPerformanceTimer.nCurrentTime;
                    this.n前回表示したフレーム番号 = -1;
                    if ((this.rAVI != null) && (this.rAVI.avi != null))
                    {
                        float f拡大率x;
                        float f拡大率y;
                        this.framewidth  = this.rAVI.avi.nフレーム幅;
                        this.frameheight = this.rAVI.avi.nフレーム高さ;
                        if (this.tx描画用 == null)
                        {
                            this.tx描画用 = new CTexture(CDTXMania.app.Device, (int)this.framewidth, (int)this.frameheight, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.Managed);
                        }
                        if (fClipアスペクト比 < 1.77f)
                        {
                            //旧規格クリップだった場合
                            this.ratio1   = 720.0f / this.frameheight;
                            this.position = (int)((1280.0f - (this.framewidth * this.ratio1)) / 2.0f);
                            int num = (int)(this.framewidth * this.ratio1);
                            if (num <= 565)
                            {
                                this.position = 295 + ((int)((565f - (this.framewidth * this.ratio1)) / 2f));
                                this.i1       = 0;
                                this.i2       = (int)this.framewidth;
                                this.rec      = new Rectangle(0, 0, 0, 0);
                                this.rec3     = new Rectangle(0, 0, 0, 0);
                                this.rec2     = new Rectangle(0, 0, (int)this.framewidth, (int)this.frameheight);
                            }
                            else
                            {
                                this.position = 295 - ((int)(((this.framewidth * this.ratio1) - 565f) / 2f));
                                this.i1       = (int)(((float)(295 - this.position)) / this.ratio1);
                                this.i2       = (int)((565f / ((float)num)) * this.framewidth);
                                this.rec      = new Rectangle(0, 0, this.i1, (int)this.frameheight);
                                this.rec3     = new Rectangle(this.i1 + this.i2, 0, (((int)this.framewidth) - this.i1) - this.i2, (int)this.frameheight);
                                this.rec2     = new Rectangle(this.i1, 0, this.i2, (int)this.frameheight);
                            }
                            this.tx描画用.vcScaleRatio.X = this.ratio1;
                            this.tx描画用.vcScaleRatio.Y = this.ratio1;
                        }
                        else
                        {
                            //ワイドクリップの処理
                            this.ratio1               = 1280f / ((float)this.framewidth);
                            this.position             = (int)((720f - (this.frameheight * this.ratio1)) / 2f);
                            this.i1                   = (int)(this.framewidth * 0.23046875);
                            this.i2                   = (int)(this.framewidth * 0.44140625);
                            this.rec                  = new Rectangle(0, 0, this.i1, (int)this.frameheight);
                            this.rec2                 = new Rectangle(this.i1, 0, this.i2, (int)this.frameheight);
                            this.rec3                 = new Rectangle(this.i1 + this.i2, 0, (((int)this.framewidth) - this.i1) - this.i2, (int)this.frameheight);
                            this.tx描画用.vcScaleRatio.X = this.ratio1;
                            this.tx描画用.vcScaleRatio.Y = this.ratio1;
                        }


                        if (this.framewidth > 420)
                        {
                            f拡大率x = 420f / ((float)this.framewidth);
                        }
                        else
                        {
                            f拡大率x = 1f;
                        }
                        if (this.frameheight > 580)
                        {
                            f拡大率y = 580f / ((float)this.frameheight);
                        }
                        else
                        {
                            f拡大率y = 1f;
                        }
                        if (f拡大率x > f拡大率y)
                        {
                            f拡大率x = f拡大率y;
                        }
                        else
                        {
                            f拡大率y = f拡大率x;
                        }

                        this.smallvc = new Vector3(f拡大率x, f拡大率y, 1f);
                        this.vclip   = new Vector3(1.42f, 1.42f, 1f);
                    }
                }
            }
        }
コード例 #15
0
ファイル: CActPerfBGA.cs プロジェクト: limyz/DTXmaniaNX
 public void Start(EChannel nチャンネル, CDTX.CBMP bmp, CDTX.CBMPTEX bmptex, int n開始サイズW, int n開始サイズH, int n終了サイズW, int n終了サイズH, int n画像側開始位置X, int n画像側開始位置Y, int n画像側終了位置X, int n画像側終了位置Y, int n表示側開始位置X, int n表示側開始位置Y, int n表示側終了位置X, int n表示側終了位置Y, int n総移動時間ms)
 {
     this.Start(nチャンネル, bmp, bmptex, n開始サイズW, n開始サイズH, n終了サイズW, n終了サイズH, n画像側開始位置X, n画像側開始位置Y, n画像側終了位置X, n画像側終了位置Y, n表示側開始位置X, n表示側開始位置Y, n表示側終了位置X, n表示側終了位置Y, n総移動時間ms, -1);
 }
コード例 #16
0
ファイル: Message.cs プロジェクト: trymnilsen/AegirServer
 public Message(string name, EChannel channel)
 {
     this.Name = name;
     this.Channel = channel;
 }
コード例 #17
0
        public void SetVoltageDIV(EChannel channel, EVoltageDIV voltageDIV)
        {
            lock (lockObject)
            {
                if (channel == EChannel.CHA)
                {
                    switch (voltageDIV)
                    {
                    case EVoltageDIV.DIV_250MV:
                        g_CtrlByte1 &= 0xF7;
                        MyDLLimport.USBCtrlTrans(0x22, 0x04, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_500MV:
                        g_CtrlByte1 &= 0xF7;
                        MyDLLimport.USBCtrlTrans(0x22, 0x02, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_1V:
                        g_CtrlByte1 &= 0xF7;
                        g_CtrlByte1 |= 0x08;
                        MyDLLimport.USBCtrlTrans(0x22, 0x04, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_2V5:
                        g_CtrlByte1 &= 0xF7;
                        g_CtrlByte1 |= 0x08;
                        MyDLLimport.USBCtrlTrans(0x22, 0x02, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_5V:
                        g_CtrlByte1 &= 0xF7;
                        g_CtrlByte1 |= 0x08;
                        MyDLLimport.USBCtrlTrans(0x22, 0x00, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    switch (voltageDIV)
                    {
                    case EVoltageDIV.DIV_250MV:
                        g_CtrlByte1 &= 0xF9;
                        g_CtrlByte1 |= 0x04;    //放大4倍
                        MyDLLimport.USBCtrlTrans(0x23, 0x40, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_500MV:
                        g_CtrlByte1 &= 0xF9;
                        g_CtrlByte1 |= 0x02;    //放大两倍
                        MyDLLimport.USBCtrlTrans(0x23, 0x40, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_1V:
                        g_CtrlByte1 &= 0xF9;
                        g_CtrlByte1 |= 0x04;
                        MyDLLimport.USBCtrlTrans(0x23, 0x00, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_2V5:
                        g_CtrlByte1 &= 0xF9;
                        g_CtrlByte1 |= 0x02;
                        MyDLLimport.USBCtrlTrans(0x23, 0x00, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    case EVoltageDIV.DIV_5V:
                        g_CtrlByte1 &= 0xF9;
                        MyDLLimport.USBCtrlTrans(0x23, 0x00, 1);
                        MyDLLimport.USBCtrlTrans(0x24, g_CtrlByte1, 1);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
コード例 #18
0
        public void Start(EChannel nチャンネル番号, CDTX.CAVI rAVI, int n総移動時間ms, int n移動開始時刻ms)
        {
            //2016.01.21 kairera0467 VfW時代のコードを除去+大改造
            Trace.TraceInformation("CActSelectBackgroundAVI: Start(): " + rAVI.strファイル名);

            this.rAVI = rAVI;
            #region [ アスペクト比からどっちを使うか判別 ]
            // 旧DShowモードを使っていて、旧規格クリップだったら新DShowモードを使う。
            //if( CDTXMania.ConfigIni.bDirectShowMode == false )
            {
                this.fClipアスペクト比 = ((float)rAVI.avi.nフレーム幅 / (float)rAVI.avi.nフレーム高さ);
            }
            //else
            //{
            //    this.fClipアスペクト比 = ( (float)dsBGV.dshow.n幅px / (float)dsBGV.dshow.n高さpx );
            //    if( this.fClipアスペクト比 < 1.77f )
            //        this.bUseMRenderer = false;
            //}
            #endregion

            if (nチャンネル番号 == EChannel.Movie || nチャンネル番号 == EChannel.MovieFull)
            {
                //CAviDS
                this.rAVI = rAVI;

                this.n総移動時間ms  = n総移動時間ms;
                this.n移動開始時刻ms = (n移動開始時刻ms != -1) ? n移動開始時刻ms : CSoundManager.rcPerformanceTimer.nCurrentTime;

                if ((this.rAVI != null) && (this.rAVI.avi != null))
                {
                    //float f拡大率x;
                    //float f拡大率y;
                    this.framewidth  = (uint)this.rAVI.avi.nフレーム幅;
                    this.frameheight = (uint)this.rAVI.avi.nフレーム高さ;
                    if (this.tx描画用 == null)
                    {
                        this.tx描画用 = new CTexture(CDTXMania.app.Device, (int)this.framewidth, (int)this.frameheight, CDTXMania.app.GraphicsDeviceManager.CurrentSettings.BackBufferFormat, Pool.Managed);
                    }

                    if (fClipアスペクト比 < 1.77f)
                    {
                        //旧規格クリップだった場合
                        float ratio1 = this.fullScreenWidthPx / ((float)this.frameheight);
                        this.position = (int)((this.fullScreenHeightPx - (this.framewidth * ratio1)) / 2f);
                        int num = (int)(this.framewidth * ratio1);
                        if (num <= 565)
                        {
                            this.position = 295 + ((int)((565f - (this.framewidth * ratio1)) / 2f));
                        }
                        else
                        {
                            this.position = 295 - ((int)(((this.framewidth * ratio1) - 565f) / 2f));
                        }
                        this.tx描画用.vcScaleRatio.X = ratio1;
                        this.tx描画用.vcScaleRatio.Y = ratio1;
                    }
                    else
                    {
                        //ワイドクリップの処理
                        float ratio1 = this.fullScreenHeightPx / ((float)this.framewidth);
                        this.position             = (int)((this.fullScreenWidthPx - (this.frameheight * ratio1)) / 2f);
                        this.tx描画用.vcScaleRatio.X = ratio1;
                        this.tx描画用.vcScaleRatio.Y = ratio1;
                    }
                    this.rAVI.avi.Run();
                }
            }
        }
コード例 #19
0
 public static ImageSource ExtractChannelAndGetSource(string imagePath, EChannel channelToExtract, EChannel finalChannel, bool invert)
 => BitmapToImageSource(ExtractChannel(imagePath, channelToExtract, finalChannel, invert));