private void ExportFamiTone2Sfx(bool famiStudio) { var props = dialog.GetPropertyPage(famiStudio ? (int)ExportFormat.FamiStudioSfx : (int)ExportFormat.FamiTone2Sfx); var exportFormat = AssemblyFormat.GetValueForName(props.GetPropertyValue <string>(0)); var ext = exportFormat == AssemblyFormat.CA65 ? "s" : "asm"; var mode = MachineType.GetValueForName(props.GetPropertyValue <string>(1)); var engineName = famiStudio ? "FamiStudio" : "FamiTone2"; var generateInclude = props.GetPropertyValue <bool>(2); var songIds = GetSongIds(props.GetPropertyValue <bool[]>(3)); var filename = lastExportFilename != null ? lastExportFilename : PlatformUtils.ShowSaveFileDialog($"Export {engineName} Code", $"{engineName} Assembly File (*.{ext})|*.{ext}", ref Settings.LastExportFolder); if (filename != null) { var includeFilename = generateInclude ? Path.ChangeExtension(filename, null) + "_sfxlist.inc" : null; FamitoneSoundEffectFile f = new FamitoneSoundEffectFile(); f.Save(project, songIds, exportFormat, mode, famiStudio ? FamiToneKernel.FamiStudio : FamiToneKernel.FamiTone2, filename, includeFilename); lastExportFilename = filename; } }
private void ExportNsf() { Action <string> ExportNsfAction = (filename) => { if (filename != null) { var props = dialog.GetPropertyPage((int)ExportFormat.Nsf); var mode = MachineType.GetValueForName(props.GetPropertyValue <string>(3)); #if DEBUG var kernel = FamiToneKernel.GetValueForName(props.GetPropertyValue <string>(5)); #else var kernel = FamiToneKernel.FamiStudio; #endif new NsfFile().Save(project, kernel, filename, GetSongIds(props.GetPropertyValue <bool[]>(4)), props.GetPropertyValue <string>(0), props.GetPropertyValue <string>(1), props.GetPropertyValue <string>(2), mode); lastExportFilename = filename; } }; if (PlatformUtils.IsMobile) { PlatformUtils.StartMobileSaveFileOperationAsync("*/*", $"{project.Name}.nsf", (f) => { ExportNsfAction(f); PlatformUtils.FinishMobileSaveFileOperationAsync(true, () => { PlatformUtils.ShowToast("NSF Export Successful!"); }); }); } else { var filename = lastExportFilename != null ? lastExportFilename : PlatformUtils.ShowSaveFileDialog("Export NSF File", "Nintendo Sound Files (*.nsf)|*.nsf", ref Settings.LastExportFolder); ExportNsfAction(filename); } }
private void ExportNsf() { var filename = lastExportFilename != null ? lastExportFilename : PlatformUtils.ShowSaveFileDialog("Export NSF File", "Nintendo Sound Files (*.nsf)|*.nsf", ref Settings.LastExportFolder); if (filename != null) { var props = dialog.GetPropertyPage((int)ExportFormat.Nsf); var mode = MachineType.GetValueForName(props.GetPropertyValue <string>(3)); #if DEBUG var kernel = FamiToneKernel.GetValueForName(props.GetPropertyValue <string>(5)); #else var kernel = FamiToneKernel.FamiStudio; #endif new NsfFile().Save(project, kernel, filename, GetSongIds(props.GetPropertyValue <bool[]>(4)), props.GetPropertyValue <string>(0), props.GetPropertyValue <string>(1), props.GetPropertyValue <string>(2), mode); lastExportFilename = filename; } }