• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修订版2c62bbce079b7c079baa3b293a97a80de0af9c48 (tree)
时间2018-02-06 01:23:14
作者yyagi <yyagi.dtxmania@gmai...>
Commiteryyagi

Log Message

#37946 MidiInChecker2: MIDIイベントごとの仮色分け, 正しいタイムスタンプを表示するよう修正, タイトルバーにリリース番号を表示,

更改概述

差异

--- a/MidiInChecker2_Solution/MidiInChecker2_Project/Form_Main.Designer.cs
+++ b/MidiInChecker2_Solution/MidiInChecker2_Project/Form_Main.Designer.cs
@@ -29,20 +29,14 @@
2929 private void InitializeComponent()
3030 {
3131 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_Main));
32- this.LogTextBox = new System.Windows.Forms.TextBox();
3332 this.menuStrip1 = new System.Windows.Forms.MenuStrip();
3433 this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
3534 this.exitToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
3635 this.buttonOK = new System.Windows.Forms.Button();
36+ this.RichLogTextBox = new System.Windows.Forms.RichTextBox();
3737 this.menuStrip1.SuspendLayout();
3838 this.SuspendLayout();
3939 //
40- // LogTextBox
41- //
42- resources.ApplyResources(this.LogTextBox, "LogTextBox");
43- this.LogTextBox.Name = "LogTextBox";
44- this.LogTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.LogTextBox_KeyDown);
45- //
4640 // menuStrip1
4741 //
4842 this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -70,16 +64,22 @@
7064 this.buttonOK.UseVisualStyleBackColor = true;
7165 this.buttonOK.Click += new System.EventHandler(this.button1_Click);
7266 //
67+ // RichLogTextBox
68+ //
69+ resources.ApplyResources(this.RichLogTextBox, "RichLogTextBox");
70+ this.RichLogTextBox.Name = "RichLogTextBox";
71+ //
7372 // Form_Main
7473 //
7574 resources.ApplyResources(this, "$this");
7675 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
76+ this.Controls.Add(this.RichLogTextBox);
7777 this.Controls.Add(this.buttonOK);
7878 this.Controls.Add(this.menuStrip1);
79- this.Controls.Add(this.LogTextBox);
8079 this.MainMenuStrip = this.menuStrip1;
8180 this.Name = "Form_Main";
8281 this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form_Main_FormClosing);
82+ this.Shown += new System.EventHandler(this.Form_Main_Shown);
8383 this.menuStrip1.ResumeLayout(false);
8484 this.menuStrip1.PerformLayout();
8585 this.ResumeLayout(false);
@@ -88,12 +88,11 @@
8888 }
8989
9090 #endregion
91-
92- private System.Windows.Forms.TextBox LogTextBox;
9391 private System.Windows.Forms.MenuStrip menuStrip1;
9492 private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
9593 private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem1;
9694 private System.Windows.Forms.Button buttonOK;
95+ private System.Windows.Forms.RichTextBox RichLogTextBox;
9796 }
9897 }
9998
--- a/MidiInChecker2_Solution/MidiInChecker2_Project/Form_Main.cs
+++ b/MidiInChecker2_Solution/MidiInChecker2_Project/Form_Main.cs
@@ -15,19 +15,28 @@ namespace MidiInChecker2
1515 CInputManager InputManager;
1616 System.Threading.Timer timer;
1717 object lockobj = new object();
18- int looptimes = 10;
18+ int looptimes = 11;
19+
20+ private void Form_Main_Shown(object sender, EventArgs e)
21+ {
22+ #region [ タイトルバーの設定 ]
23+ System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
24+ int ver_asm_major = asm.GetName().Version.Major;
25+ this.Text = "MidiInChecker2 Rel" + ver_asm_major.ToString("D3");
26+ #endregion
27+ }
1928
2029 public Form_Main()
2130 {
2231 InitializeComponent();
2332 InputManager = new CInputManager();
2433
25- LogTextBox.AppendText( "Number of MIDI devices: " + InputManager.nInputMidiDevices + "\r\n" );
34+ RichLogTextBox.AppendText( "Number of MIDI devices: " + InputManager.nInputMidiDevices + "\r\n" );
2635 foreach ( string s in InputManager.listStrMidiDevices )
2736 {
28- LogTextBox.AppendText( s + "\r\n" );
37+ RichLogTextBox.AppendText( s + "\r\n" );
2938 }
30- LogTextBox.AppendText( "\r\nHit any MIDI Pad to show the signal info.\r\n\r\n\n" );
39+ RichLogTextBox.AppendText( "\r\nHit any MIDI Pad to show the signal info.\r\n\r\n\n" );
3140
3241 #region [タイマーで0.1秒ごとにログ画面を更新するように初期化する]
3342 TimerCallback timerDelegate = new TimerCallback(mainloop);
@@ -50,33 +59,64 @@ namespace MidiInChecker2
5059 {
5160 foreach ( STInputEvent ev in device.list入力イベント )
5261 {
53- int nMIDIevent = ev.nKey & 0xFF;
54- int nNote = ( ev.nKey >> 8 ) & 0xFF; // note#
55- // int nVelo = ( ev.nKey >> 16 ) & 0xFF; // velocity
56-
57- string s = DateTime.Now.ToString( "hh:mm:ss.fff" ) +
58- ": Device=" + device.ID +
59- ", MIDIevent=0x" + nMIDIevent.ToString( "X2" ) +
60- ", Note#=0x" + nNote.ToString( "X2" ) +
61- ", Velocity=" + ev.nVelocity.ToString( "D3" ) +
62-
63- "\r\n";
64- Invoke( new AppendTextDelegate( appendLogText ), s );
62+ Invoke( new AppendTextDelegate( appendLogText ), device.ID, ev);
6563 looptimes = 0;
6664 }
6765 }
6866 }
6967 if (looptimes++ == 10) // 10回ループ(1秒間)の間に入力がなければ、空行を挿入する。
7068 {
71- Invoke(new AppendTextDelegate( appendLogText ), "------------------------------------------------------------\r\n");
69+ Invoke(new AppendTextDelegate( appendLogText ), -1, new STInputEvent() );
7270 }
7371 }
7472 }
7573
76- delegate void AppendTextDelegate( string text );
77- private void appendLogText( string text )
74+ delegate void AppendTextDelegate( int id, STInputEvent ev );
75+ private void appendLogText( int id, STInputEvent ev )
7876 {
79- LogTextBox.AppendText( text );
77+ string text;
78+
79+ if (id == -1)
80+ {
81+ RichLogTextBox.SelectionColor = Color.Black; // reset color
82+ text = "------------------------------------------------------------\r\n";
83+ }
84+ else
85+ {
86+ int nMIDIevent = ev.nKey & 0xFF;
87+ int nNote = (ev.nKey >> 8) & 0xFF; // note#
88+ // int nVelo = ( ev.nKey >> 16 ) & 0xFF; // velocity
89+
90+ DateTime dt = new DateTime(ev.nTimeStamp);
91+
92+ text = dt.ToString("hh:mm:ss.fff") +
93+ ": Device=" + id +
94+ ", MidiEvent=0x" + nMIDIevent.ToString("X2") +
95+ ", Note#=0x" + nNote.ToString("X2") +
96+ ", Velocity=" + ev.nVelocity.ToString("D3") +
97+ "\r\n";
98+
99+ Color[] cMidiEvent =
100+ {
101+ Color.Gray, // 0x8x Note Off
102+ Color.Black, // 0x9x Note On
103+ Color.Black, // 0xAx
104+ Color.Green, // 0xBx Control change
105+ Color.Black, // 0xCx
106+ Color.Black, // 0xDx
107+ Color.Blue, // 0xEx Pitch bend
108+ Color.Black, // 0xFx
109+ };
110+ Color c = cMidiEvent[(nMIDIevent >> 4) - 8];
111+ if ( (nMIDIevent & 0xF0) == 0x90 && (ev.nVelocity == 0) )
112+ {
113+ c = cMidiEvent[0]; // Note off color
114+ }
115+ RichLogTextBox.SelectionColor = c;
116+ }
117+ RichLogTextBox.Focus();
118+ RichLogTextBox.AppendText( text );
119+ RichLogTextBox.SelectionColor = Color.Black; // reset color
80120 }
81121
82122 // ダサい。後日改善予定。
@@ -113,7 +153,7 @@ namespace MidiInChecker2
113153 {
114154 if ( e.KeyCode == System.Windows.Forms.Keys.A & e.Control == true )
115155 {
116- LogTextBox.SelectAll();
156+ RichLogTextBox.SelectAll();
117157 }
118158 }
119159 }
--- a/MidiInChecker2_Solution/MidiInChecker2_Project/Form_Main.resx
+++ b/MidiInChecker2_Solution/MidiInChecker2_Project/Form_Main.resx
@@ -117,48 +117,10 @@
117117 <resheader name="writer">
118118 <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119119 </resheader>
120- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
121- <data name="LogTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
122- <value>Top, Bottom, Left, Right</value>
123- </data>
124- <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
125- <data name="LogTextBox.Location" type="System.Drawing.Point, System.Drawing">
126- <value>13, 29</value>
127- </data>
128- <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
129- <data name="LogTextBox.Multiline" type="System.Boolean, mscorlib">
130- <value>True</value>
131- </data>
132- <data name="LogTextBox.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
133- <value>Both</value>
134- </data>
135- <data name="LogTextBox.Size" type="System.Drawing.Size, System.Drawing">
136- <value>473, 335</value>
137- </data>
138- <data name="LogTextBox.TabIndex" type="System.Int32, mscorlib">
139- <value>0</value>
140- </data>
141- <data name="&gt;&gt;LogTextBox.Name" xml:space="preserve">
142- <value>LogTextBox</value>
143- </data>
144- <data name="&gt;&gt;LogTextBox.Type" xml:space="preserve">
145- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
146- </data>
147- <data name="&gt;&gt;LogTextBox.Parent" xml:space="preserve">
148- <value>$this</value>
149- </data>
150- <data name="&gt;&gt;LogTextBox.ZOrder" xml:space="preserve">
151- <value>2</value>
152- </data>
153120 <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
154121 <value>0, 0</value>
155122 </metadata>
156- <data name="exitToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
157- <value>93, 22</value>
158- </data>
159- <data name="exitToolStripMenuItem1.Text" xml:space="preserve">
160- <value>E&amp;xit</value>
161- </data>
123+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
162124 <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
163125 <value>37, 20</value>
164126 </data>
@@ -169,8 +131,9 @@
169131 <value>0, 0</value>
170132 </data>
171133 <data name="menuStrip1.Size" type="System.Drawing.Size, System.Drawing">
172- <value>486, 24</value>
134+ <value>596, 24</value>
173135 </data>
136+ <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
174137 <data name="menuStrip1.TabIndex" type="System.Int32, mscorlib">
175138 <value>2</value>
176139 </data>
@@ -187,13 +150,20 @@
187150 <value>$this</value>
188151 </data>
189152 <data name="&gt;&gt;menuStrip1.ZOrder" xml:space="preserve">
190- <value>1</value>
153+ <value>2</value>
154+ </data>
155+ <data name="exitToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
156+ <value>152, 22</value>
191157 </data>
158+ <data name="exitToolStripMenuItem1.Text" xml:space="preserve">
159+ <value>E&amp;xit</value>
160+ </data>
161+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
192162 <data name="buttonOK.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
193163 <value>Bottom, Right</value>
194164 </data>
195165 <data name="buttonOK.Location" type="System.Drawing.Point, System.Drawing">
196- <value>399, 370</value>
166+ <value>509, 500</value>
197167 </data>
198168 <data name="buttonOK.Size" type="System.Drawing.Size, System.Drawing">
199169 <value>75, 23</value>
@@ -214,6 +184,36 @@
214184 <value>$this</value>
215185 </data>
216186 <data name="&gt;&gt;buttonOK.ZOrder" xml:space="preserve">
187+ <value>1</value>
188+ </data>
189+ <data name="RichLogTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
190+ <value>Top, Bottom, Left, Right</value>
191+ </data>
192+ <data name="RichLogTextBox.Location" type="System.Drawing.Point, System.Drawing">
193+ <value>0, 27</value>
194+ </data>
195+ <data name="RichLogTextBox.ScrollBars" type="System.Windows.Forms.RichTextBoxScrollBars, System.Windows.Forms">
196+ <value>ForcedBoth</value>
197+ </data>
198+ <data name="RichLogTextBox.Size" type="System.Drawing.Size, System.Drawing">
199+ <value>596, 467</value>
200+ </data>
201+ <data name="RichLogTextBox.TabIndex" type="System.Int32, mscorlib">
202+ <value>4</value>
203+ </data>
204+ <data name="RichLogTextBox.Text" xml:space="preserve">
205+ <value />
206+ </data>
207+ <data name="&gt;&gt;RichLogTextBox.Name" xml:space="preserve">
208+ <value>RichLogTextBox</value>
209+ </data>
210+ <data name="&gt;&gt;RichLogTextBox.Type" xml:space="preserve">
211+ <value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
212+ </data>
213+ <data name="&gt;&gt;RichLogTextBox.Parent" xml:space="preserve">
214+ <value>$this</value>
215+ </data>
216+ <data name="&gt;&gt;RichLogTextBox.ZOrder" xml:space="preserve">
217217 <value>0</value>
218218 </data>
219219 <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -223,7 +223,7 @@
223223 <value>6, 12</value>
224224 </data>
225225 <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
226- <value>486, 405</value>
226+ <value>596, 535</value>
227227 </data>
228228 <data name="$this.Text" xml:space="preserve">
229229 <value>MidiInChecker2</value>
--- a/MidiInChecker2_Solution/MidiInChecker2_Project/Properties/AssemblyInfo.cs
+++ b/MidiInChecker2_Solution/MidiInChecker2_Project/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
3232 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
3333 // 既定値にすることができます:
3434 // [assembly: AssemblyVersion("1.0.*")]
35-[assembly: AssemblyVersion( "1.0.0.0" )]
36-[assembly: AssemblyFileVersion( "1.0.0.0" )]
35+[assembly: AssemblyVersion("2.0.0.0")]
36+[assembly: AssemblyFileVersion("2.0.0.0")]