/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte>(); var nameBytes = Encoding.ASCII.GetBytes(Name.Length > 12 ? Name.Substring(0, 12) : Name); bytes.AddRange(nameBytes); bytes.AddRange(ByteUtils.RepeatReserve(12 - nameBytes.Length, 0x20)); bytes.AddRange(ByteUtils.RepeatReserve(4)); bytes.Add((byte)Level); bytes.AddRange(ByteUtils.NumberTo4MidiPackets(Tempo * 100, ByteUtils.Offset.None)); bytes.Add(0x00); // Reserve //TODO: The hell with that ifs if (VocalEffectType != Type.Off) { bytes.Add((byte)VocalEffectType); bytes.AddRange(ByteUtils.RepeatReserve(5)); bytes.Add((byte)VocalEffectNumber); bytes.Add((byte)VocalEffectPart); } if (VocalEffectType == Type.Vocoder) { bytes.Add(ByteUtils.BooleanToByte(AutoNote)); } return(bytes.ToArray()); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte> { ByteUtils.BooleanToByte(On), (byte)GroupType }; bytes.AddRange(ByteUtils.NumberTo4MidiPackets(GroupId, ByteUtils.Offset.None)); bytes.AddRange(ByteUtils.NumberTo4MidiPackets((int)LeftWave, ByteUtils.Offset.None)); bytes.AddRange(ByteUtils.NumberTo4MidiPackets((int)RightWave, ByteUtils.Offset.None)); bytes.Add((byte)WaveGain); bytes.Add(ByteUtils.BooleanToByte(Fxm)); bytes.Add((byte)FxmColor); bytes.Add((byte)FxmDepth); bytes.Add(ByteUtils.BooleanToByte(TempoSync)); bytes.Add((byte)(CoarseTune + 64)); bytes.Add((byte)(FineTune + 64)); bytes.Add((byte)(Panorama + 64)); bytes.Add(ByteUtils.BooleanToByte(RandomPanorama)); bytes.Add((byte)AlternatePanorama); bytes.Add((byte)Level); bytes.Add((byte)VelocityRangeLower); bytes.Add((byte)VelocityRangeUpper); bytes.Add((byte)VelocityFadeWidthLower); bytes.Add((byte)VelocityFadeWidthUpper); return(bytes.ToArray()); }
/// <inheritdoc /> public void SetAutoNote(bool value, int deviceId) { using (var output = new OutputDevice(deviceId)) { _logger.DataDump("Dumping Patch.Common.AutoNote"); output.Send(SysExUtils.GetMessage(_autoNoteOffset, new[] { ByteUtils.BooleanToByte(value) })); } }
/// <inheritdoc /> public byte[] GetBytes() { return(new[] { ByteUtils.BooleanToByte(OneShotMode), (byte)(RelativeLevel + 64) }); }
/// <inheritdoc /> public byte[] GetBytes() { return(new byte[] { ByteUtils.BooleanToByte(On), (byte)Level, 0x00 // Reserve }); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte>(); var nameBytes = Encoding.ASCII.GetBytes(Name.Length > 12 ? Name.Substring(0, 12) : Name); bytes.AddRange(nameBytes); bytes.AddRange(ByteUtils.RepeatReserve(12 - nameBytes.Length, 0x20)); bytes.Add((byte)ToneLevel); bytes.AddRange(ByteUtils.RepeatReserve(5)); bytes.AddRange(new[] { ByteUtils.BooleanToByte(Portamento), (byte)PortamentoTime, ByteUtils.BooleanToByte(Mono), (byte)(OctaveShift + 64), (byte)PitchBendRangeUp, (byte)PitchBendRangeDown, (byte)0x00, //Reserve ByteUtils.BooleanToByte(PartialOneSwitch), ByteUtils.BooleanToByte(PartialOneSelect), ByteUtils.BooleanToByte(PartialTwoSwitch), ByteUtils.BooleanToByte(PartialTwoSelect), ByteUtils.BooleanToByte(PartialThreeSwitch), ByteUtils.BooleanToByte(PartialThreeSelect), ByteUtils.BooleanToByte(Ring) }); bytes.AddRange(ByteUtils.RepeatReserve(14)); bytes.Add(ByteUtils.BooleanToByte(Unison)); bytes.AddRange(ByteUtils.RepeatReserve(2)); bytes.AddRange(new[] { (byte)PortamentoMode, ByteUtils.BooleanToByte(Legato), (byte)0x00, //Reserve (byte)AnalogFeel, (byte)WaveShape, (byte)ToneCategory }); bytes.AddRange(ByteUtils.RepeatReserve(5)); bytes.Add((byte)UnisonSize); bytes.AddRange(ByteUtils.RepeatReserve(3)); return(bytes.ToArray()); }
/// <inheritdoc /> public byte[] GetBytes() { return(new byte[] { (byte)PitchBendRange, ByteUtils.BooleanToByte(ReceiveExpression), ByteUtils.BooleanToByte(ReceiveHold1), 0x00 //Reserve }); }
/// <inheritdoc /> public byte[] GetBytes() { return(new byte[] { ByteUtils.BooleanToByte(On), (byte)Level, 0x00, // Reserve (byte)ReverbSendLevel }); }
/// <inheritdoc /> public byte[] GetBytes() { return(new[] { ByteUtils.BooleanToByte(Portamento), (byte)PortamentoTime, ByteUtils.BooleanToByte(Legato), (byte)(OctaveShift + 64), (byte)PitchBendRangeUp, (byte)PitchBendRangeDown, (byte)0x00 //Reserve }); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte>(); bytes.AddRange(ByteUtils.RepeatReserve(3)); bytes.Add(ByteUtils.BooleanToByte(ArpeggioSwitch)); bytes.AddRange(ByteUtils.RepeatReserve(10)); bytes.AddRange(ByteUtils.RepeatReserve(11)); //10 * 2 packets + 1 bytes.Add((byte)ZoneOctaveShift); bytes.AddRange(ByteUtils.RepeatReserve(9)); return(bytes.ToArray()); }
/// <inheritdoc /> public byte[] GetBytes() { return(new[] { ByteUtils.BooleanToByte(On), (byte)Type, (byte)Scale, (byte)Key, (byte)Note, (byte)(Gender + 10), (byte)Octave, (byte)DryWetBalance }); }
/// <inheritdoc /> public byte[] GetBytes() { return(new byte[] { ByteUtils.BooleanToByte(On), (byte)Envelope, (byte)UnknowParameter, (byte)MicrophoneSensitivity, (byte)SynthLevel, (byte)MicrophoneMixLevel, (byte)MicrophoneHpf, 0x00 // Reserve }); }
/// <inheritdoc /> public byte[] GetBytes() { return(new[] { (byte)Shape, (byte)Rate, (byte)FadeTime, ByteUtils.BooleanToByte(TempoSync), (byte)SyncNote, (byte)(PitchDepth + 64), (byte)(FilterDepth + 64), (byte)(AmpDepth + 64), ByteUtils.BooleanToByte(KeyTrigger) }); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte> { ByteUtils.BooleanToByte(TransmitProgramChange), ByteUtils.BooleanToByte(TransmitBankSelect), (byte)KeyboardVelocity, (byte)VelocityCurve, (byte)(VelocityCurveOffset + 64) }; bytes.AddRange(ByteUtils.RepeatReserve(12)); return(bytes.ToArray()); }
/// <inheritdoc /> public byte[] GetBytes() { return(new[] { (byte)Shape, (byte)Rate, ByteUtils.BooleanToByte(TempoSync), (byte)SyncNote, (byte)PulseWidthShift, (byte)0x00, //Reserve (byte)(PitchDepth + 64), (byte)(FilterDepth + 64), (byte)(AmpDepth + 64), (byte)(PanDepth + 64) }); }
/// <inheritdoc /> public void Dump(IPatch patch, int deviceId) { var vfxPatch = (CommonAndVocalEffectPatch)patch; using (var output = new OutputDevice(deviceId)) { _logger.DataDump("Dumping Patch.Common"); output.Send(SysExUtils.GetMessage(_commonOffset, vfxPatch.Common.GetBytes())); _logger.DataDump("Dumping Patch.VocalEffect"); output.Send(SysExUtils.GetMessage(_vfxEffectsOffset, vfxPatch.VocalEffect.GetBytes())); _logger.DataDump("Dumping Patch.Common.AutoNote"); output.Send(SysExUtils.GetMessage(_autoNoteOffset, new[] { ByteUtils.BooleanToByte(vfxPatch.Common.AutoNote) })); } }
/// <inheritdoc /> public byte[] GetBytes() { return(new[] { ByteUtils.BooleanToByte(On), (byte)Cutoff, (byte)(CutoffKeyfollow / 10 + 64), (byte)Resonance, (byte)(EnvelopeVelocitySensitivity + 64), (byte)Envelope.Attack, (byte)Envelope.Decay, (byte)Envelope.Sustain, (byte)Envelope.Release, (byte)(EnvelopeDepth + 64) }); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte>(new[] { (byte)0x00, //Reserve (byte)AttackTimeIntervalSensitivity, (byte)ReleaseTimeIntervalSensitivity, (byte)PortamentoTimeIntervalSensitivity, (byte)EnvelopeLoopMode, (byte)EnvelopeLoopSyncNote, ByteUtils.BooleanToByte(ChromaticPortamento) }); bytes.AddRange(ByteUtils.RepeatReserve(30)); return(bytes.ToArray()); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte>(); bytes.AddRange(ByteUtils.NumberTo4MidiPackets((int)(MasterTune * 5))); // TODO: Replace 5 with something bytes.Add((byte)(MasterKeyShift + 64)); bytes.Add((byte)MasterLevel); bytes.AddRange(ByteUtils.RepeatReserve(11)); bytes.Add((byte)ProgramControlChannel); bytes.AddRange(ByteUtils.RepeatReserve(23)); bytes.Add(ByteUtils.BooleanToByte(ReceiveProgramChange)); bytes.Add(ByteUtils.BooleanToByte(ReceiveBankSelect)); return(bytes.ToArray()); }
/// <inheritdoc /> public byte[] GetBytes() { var bytes = new List <byte> { ByteUtils.BooleanToByte(ReceiveChannel), ByteUtils.BooleanToByte(ReceivePitchBend), ByteUtils.BooleanToByte(ReceivePolyphonicKeyPressure), ByteUtils.BooleanToByte(ReceiveChannelPressure), ByteUtils.BooleanToByte(ReceiveModulation), ByteUtils.BooleanToByte(ReceiveVolume), ByteUtils.BooleanToByte(ReceivePanorama), ByteUtils.BooleanToByte(ReceiveExpression), ByteUtils.BooleanToByte(ReceiveHold1), }; bytes.AddRange(ByteUtils.RepeatReserve(5)); return(bytes.ToArray()); }