create VmcExtMidiCcVal and use it in Marionette
This commit is contained in:
		
							parent
							
								
									719fe22d5d
								
							
						
					
					
						commit
						e88f5c83ea
					
				|  | @ -78,7 +78,7 @@ namespace godotVmcSharp | ||||||
|                     new VmcExtMidiNote(m); |                     new VmcExtMidiNote(m); | ||||||
|                     break; |                     break; | ||||||
|                 case "/VMC/Ext/Midi/CC/Val": |                 case "/VMC/Ext/Midi/CC/Val": | ||||||
|                     MidiValue(m.Data); |                     new VmcExtMidiCcVal(m); | ||||||
|                     break; |                     break; | ||||||
|                 case "/VMC/Ext/Midi/CC/Bit": |                 case "/VMC/Ext/Midi/CC/Bit": | ||||||
|                     MidiButton(m.Data); |                     MidiButton(m.Data); | ||||||
|  | @ -106,21 +106,6 @@ namespace godotVmcSharp | ||||||
|                     break; |                     break; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         private void MidiValue(List<godotOscSharp.OscArgument> data) |  | ||||||
|         { |  | ||||||
|             var addr = "/VMC/Ext/Midi/CC/Val"; |  | ||||||
|             if (data[0].Type != 'i') |  | ||||||
|             { |  | ||||||
|                 GD.Print(InvalidArgumentType.GetErrorString(addr, "knob", 'i', data[0].Type)); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|             if (data[1].Type != 'f') |  | ||||||
|             { |  | ||||||
|                 GD.Print(InvalidArgumentType.GetErrorString(addr, "value", 'f', data[1].Type)); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|             GD.Print($"CC value input on knob {(int)data[0].Value} with value {(float)data[1].Value}."); |  | ||||||
|         } |  | ||||||
|         private void MidiButton(List<godotOscSharp.OscArgument> data) |         private void MidiButton(List<godotOscSharp.OscArgument> data) | ||||||
|         { |         { | ||||||
|             var addr = "/VMC/Ext/Midi/CC/Bit"; |             var addr = "/VMC/Ext/Midi/CC/Bit"; | ||||||
|  |  | ||||||
							
								
								
									
										44
									
								
								VmcMessages/VmcExtMidiCcVal.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								VmcMessages/VmcExtMidiCcVal.cs
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | ||||||
|  | /* | ||||||
|  |     godotVmcSharp | ||||||
|  |     Copyright (C) 2023  Cassandra de la Cruz-Munoz | ||||||
|  | 
 | ||||||
|  |     This program is free software: you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU Affero General Public License as published | ||||||
|  |     by the Free Software Foundation, either version 3 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU Affero General Public License for more details. | ||||||
|  | 
 | ||||||
|  |     You should have received a copy of the GNU Affero General Public License | ||||||
|  |     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |     */ | ||||||
|  | 
 | ||||||
|  | using Godot; | ||||||
|  | using godotOscSharp; | ||||||
|  | 
 | ||||||
|  | namespace godotVmcSharp | ||||||
|  | { | ||||||
|  |     public class VmcExtMidiCcVal : VmcMessage | ||||||
|  |     { | ||||||
|  |         public int knob { get; } | ||||||
|  |         public float value { get; } | ||||||
|  |         public VmcExtMidiCcVal(godotOscSharp.OscMessage m) : base(m.Address) | ||||||
|  |         { | ||||||
|  |             if (m.Data[0].Type != 'i') | ||||||
|  |             { | ||||||
|  |                 GD.Print(InvalidArgumentType.GetErrorString(addr, "knob", 'i', m.Data[0].Type)); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |             if (m.Data[1].Type != 'f') | ||||||
|  |             { | ||||||
|  |                 GD.Print(InvalidArgumentType.GetErrorString(addr, "value", 'f', m.Data[1].Type)); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |             knob = (int)m.Data[0].Value; | ||||||
|  |             value = (int)m.Data[1].Value; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user