public void ConvertTracksNoteMapToOrpheeNoteMessageList(IOrpheeFile orpheeFile) { foreach (var track in orpheeFile.OrpheeTrackList) { var trackLength = track.TrackLength; track.OrpheeNoteMessageList = NoteMapManager.Instance.ConvertNoteMapToOrpheeMessageList(track.NoteMap, (int) track.Channel, ref trackLength); } }
private void WriteEventsInFile(IOrpheeFile orpheeFile) { using (this._writer = new BinaryWriter(this._storageFile.OpenStreamForWriteAsync().Result)) { this._fileHeaderWriter.WriteFileHeader(this._writer, orpheeFile.OrpheeFileParameters); foreach (var orpheeTrack in orpheeFile.OrpheeTrackList) { this._trackHeaderWriter.WriteTrackHeader(this._writer, orpheeTrack.PlayerParameters, orpheeTrack.TrackLength); this._noteMessageWriter.WriteNoteMessages(this._writer, orpheeTrack.OrpheeNoteMessageList, (int)orpheeTrack.Channel, orpheeTrack.CurrentInstrument); } } }
private async Task<bool> GetTheSaveFilePicker(IOrpheeFile orpheeFile) { var savePicker = new FileSavePicker() { SuggestedStartLocation = PickerLocationId.MusicLibrary, SuggestedFileName = orpheeFile.FileName, }; savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { orpheeFile.FileName.Split('.')[1] == "loop" ? ".loop" : ".orph" }); this._storageFile = await savePicker.PickSaveFileAsync(); if (this._storageFile != null) { CachedFileManager.DeferUpdates(this._storageFile); WriteEventsInFile(orpheeFile); return true; } return false; }
public WhenFileExporterIsCalled() { this.PlayerParameters = new PlayerParameters() { TimeSignatureNominator = 4, TimeSignatureDenominator = 4, TimeSignatureClocksPerBeat = 24, Tempo = 120, TimeSignatureNumberOf32ThNotePerBeat = 4 }; this.OrpheeTrack = new OrpheeTrack(0, Channel.Channel1) { PlayerParameters = this.PlayerParameters, CurrentInstrument = Instrument.OrchestralHarp }; this.OrpheeFile = new OrpheeFile(); this.OrpheeFile.AddNewTrack(this.OrpheeTrack); this.OrpheeFileExporter = new OrpheeFileExporter(new FileHeaderWriter(new SwapManager()), new TrackHeaderWriter(new TimeSignatureMessageWriter(), new TempoMessageWriter(), new SwapManager()), new NoteMessageWriter(new ProgramChangeMessageWriter(), new EndOfTrackMessageWriter())); }
public bool SaveOrpheeFile(IOrpheeFile orpheeFile) { return false; }
public WhenNoteMessageWriterIsCalled() { this.FileHeaderWriterMock = new Mock<IFileHeaderWriter>(); this.NoteMessageWriterMock = new Mock<INoteMessageWriter>(); this.SwapManagerMock = new Mock<ISwapManager>(); this.TrackHeaderWriterMock = new Mock<ITrackHeaderWriter>(); this.OrpheeFileExporter = new OrpheeFileExporter(this.FileHeaderWriterMock.Object, this.TrackHeaderWriterMock.Object, this.NoteMessageWriterMock.Object); this.EndOfTrackMessageWriterMock = new Mock<IEndOfTrackMessageWriter>(); this.ProgramChangeMessageWriterMock = new Mock<IProgramChangeMessageWriter>(); this.DeltaTimeRetriever = new DeltaTimeRetriever(); this.OrpheeFile = new OrpheeFile(); this.OrpheeTrack = new OrpheeTrack(0, Channel.Channel5) { CurrentInstrument = Instrument.AcousticGuitarSteel, }; this.OrpheeTrack.NoteMap[0][0].IsChecked = true; this.OrpheeTrack.NoteMap[0][0].ColumnIndex = 0; this.OrpheeTrack.NoteMap[0][0].LineIndex = 0; this.OrpheeTrack.NoteMap[0][0].Note = Note.C4; this.OrpheeFile.AddNewTrack(this.OrpheeTrack); this.NoteMessageWriter = new NoteMessageWriter(this.ProgramChangeMessageWriterMock.Object, this.EndOfTrackMessageWriterMock.Object); var result = InitializeFile("NoteMessageTests.test").Result; }