static public IEnumerable <int> GetTrackIndex(IMidiParser parser) { for (int i = 0; i < parser.FileHandle.NumberOfTracks; i++) { yield return(i); } }
// static public IEnumerable<KeyValuePair<int,VstPlugin>> GetInstrumentMapping(IMidiParserUI ui) // { // foreach (VstPlugin plugin in GetInstruments(ui)) // for (int i=0; i<plugin.PluginCommandStub.GetNumberOfMidiInputChannels(); i++) // yield return new KeyValuePair<int,VstPlugin>(i,plugin); // } static IEnumerable <int> EnumerateTrackIndex(this IMidiParser parser) { for (int i = 0; i < parser.SmfFileHandle.NumberOfTracks; i++) { yield return(i); } }
public void FromMidi(IMidiParser parser) { this.TimeSignature = parser.TimeSignature; this.KeySignature = parser.KeySignature; this.Division = parser.SmfFileHandle.Division; this.Tempo = parser.MidiTimeInfo.Tempo; }
int FindOld(IMidiParser parser) { return parser.MidiDataList[track].FindIndex( m => m.DeltaTime == oldDelta && m.Message == oldMessage && m.Data==oldData ); }
int FindNew(IMidiParser parser) { return parser.MidiDataList[track].FindIndex( m => m.DeltaTime == newDelta && m.Message == newMessage && m.Data==newData ); }
int FindNew(IMidiParser parser) { return(parser.MidiDataList[track].FindIndex( m => m.DeltaTime == newDelta && m.Message == newMessage && m.Data == newData )); }
public void Revert(IMidiParser parser) { int msgindex = FindNew(parser); if (msgindex != -1) { SetOldData(parser, msgindex); } }
public void Modify(IMidiParser parser) { int msgindex = FindOld(parser); if (msgindex != -1) { SetNewData(parser, msgindex); } }
int FindOld(IMidiParser parser) { return(parser.MidiDataList[track].FindIndex( m => m.DeltaTime == oldDelta && m.Message == oldMessage && m.Data == oldData )); }
public void Modify(MidiMessage input, IMidiParser parser, ulong delta, int msg, params byte[] data) { this.track = track; this.oldDelta = input.DeltaTime; this.oldMessage = input.Message; this.oldData = input.Data; // this.newDelta = delta; this.newMessage = msg; this.newData = data; }
public void Revert(IMidiParser parser) { int msgindex = FindNew(parser); if (msgindex!=-1) SetOldData(parser,msgindex); }
public void Modify(IMidiParser parser) { int msgindex = FindOld(parser); if (msgindex!=-1) SetNewData(parser,msgindex); }
void SetOldData(IMidiParser parser, int index) { parser.MidiDataList[track][index].DeltaTime = oldDelta; parser.MidiDataList[track][index].Message = oldMessage; parser.MidiDataList[track][index].Data = oldData; }
void SetNewData(IMidiParser parser, int index) { parser.MidiDataList[track][index].DeltaTime = newDelta; parser.MidiDataList[track][index].Message = newMessage; parser.MidiDataList[track][index].Data = newData; }
static public IEnumerable <KeyValuePair <int, string> > GetMidiTrackNameDictionary(this IMidiParser parser) { foreach (int i in parser.EnumerateTrackIndex()) { string trackname = string.Format(Strings.Filter_MidiTrack, i + 1); yield return(new KeyValuePair <int, string>(i, trackname)); } }
static public IEnumerable <KeyValuePair <int, string> > GetMidiTrackNamesByIndex(IMidiParser parser) { foreach (int i in GetTrackIndex(parser)) { string trackname = string.Format(Strings.Filter_MidiTrack, i + 1); yield return(new KeyValuePair <int, string>(i, trackname)); } }
public TrackLoader(IMidiParser parser) : base() { this.parser = parser; this.parser.TrackLoadProgressChanged += delegate (object o,ProgressChangedEventArgs e) { // we should use a cancelation pending type of thing somewhere? OnProgressChanged(e); }; }
static public IEnumerable <MidiMessage> MidiTrackDistinctChannels(this IMidiParser parser, int trackid) { return(parser.MidiDataList[trackid].Distinct(ChannelComparer)); }
public MidiController(IWebHostEnvironment environment) { this.midiParser = new MidiParser(); hostingEnvironment = environment; }