예제 #1
0
        public DialogResult ShowDialog()
        {
            var dialogResult = dialog.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                // UI
                var pageUI        = pages[(int)ConfigSection.UserInterface];
                var pageSound     = pages[(int)ConfigSection.Sound];
                var scalingString = pageUI.GetPropertyValue <string>(0);

                Settings.DpiScaling   = scalingString == "System" ? 0 : int.Parse(scalingString.Substring(0, 3));
                Settings.CheckUpdates = pageUI.GetPropertyValue <bool>(1);

                // Sound
                Settings.InstrumentStopTime  = pageSound.GetPropertyValue <int>(0);
                Settings.SquareSmoothVibrato = pageSound.GetPropertyValue <bool>(1);

                // MIDI
                var pageMIDI = pages[(int)ConfigSection.MIDI];

                Settings.MidiDevice = pageMIDI.GetPropertyValue <string>(0);

                Settings.Save();
            }

            return(dialogResult);
        }
예제 #2
0
        public void ShowDialog()
        {
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                var selectedFormat = (ExportFormat)dialog.SelectedIndex;

                switch (selectedFormat)
                {
                case ExportFormat.Wav: ExportWav(); break;

                case ExportFormat.Nsf: ExportNsf(); break;

                case ExportFormat.Rom: ExportRom(); break;

                case ExportFormat.Text: ExportText(); break;

                case ExportFormat.FamiTracker: ExportFamiTracker(); break;

                case ExportFormat.FamiTone2Music: ExportFamiTone2Music(false); break;

                case ExportFormat.FamiStudioMusic: ExportFamiTone2Music(true); break;

                case ExportFormat.FamiTone2Sfx: ExportFamiTone2Sfx(false); break;

                case ExportFormat.FamiStudioSfx: ExportFamiTone2Sfx(true); break;
                }
            }
        }
예제 #3
0
        public DialogResult ShowDialog(FamiStudioForm parent)
        {
            var dialogResult = dialog.ShowDialog(parent);

            if (dialogResult == DialogResult.OK)
            {
                var pageGeneral = pages[(int)ConfigSection.General];
                var pageUI      = pages[(int)ConfigSection.UserInterface];
                var pageSound   = pages[(int)ConfigSection.Sound];
                var pageMixer   = pages[(int)ConfigSection.Mixer];

                // General
                Settings.CheckUpdates     = pageGeneral.GetPropertyValue <bool>(0);
                Settings.TrackPadControls = pageGeneral.GetPropertyValue <bool>(1);

                // UI
                var scalingString = pageUI.GetPropertyValue <string>(0);

                Settings.DpiScaling             = scalingString == "System" ? 0 : int.Parse(scalingString.Substring(0, 3));
                Settings.TimeFormat             = Array.IndexOf(TimeFormatStrings, pageUI.GetPropertyValue <string>(1));
                Settings.FollowMode             = Array.IndexOf(FollowModeStrings, pageUI.GetPropertyValue <string>(2));
                Settings.FollowSync             = Array.IndexOf(FollowSyncStrings, pageUI.GetPropertyValue <string>(3));
                Settings.ShowPianoRollViewRange = pageUI.GetPropertyValue <bool>(4);
                Settings.ShowNoteLabels         = pageUI.GetPropertyValue <bool>(5);
                Settings.ShowImplicitStopNotes  = pageUI.GetPropertyValue <bool>(6);
                Settings.ShowScrollBars         = pageUI.GetPropertyValue <bool>(7);
                Settings.ShowOscilloscope       = pageUI.GetPropertyValue <bool>(8);
                Settings.ForceCompactSequencer  = pageUI.GetPropertyValue <bool>(9);

                // Sound
                Settings.NumBufferedAudioFrames = pageSound.GetPropertyValue <int>(0);
                Settings.InstrumentStopTime     = pageSound.GetPropertyValue <int>(1);
                Settings.SquareSmoothVibrato    = pageSound.GetPropertyValue <bool>(2);
                Settings.NoDragSoungWhenPlaying = pageSound.GetPropertyValue <bool>(3);

                // Mixer.
                Array.Copy(expansionMixer, Settings.ExpansionMixerSettings, Settings.ExpansionMixerSettings.Length);

                // MIDI
                var pageMIDI = pages[(int)ConfigSection.MIDI];

                Settings.MidiDevice = pageMIDI.GetPropertyValue <string>(0);

                // QWERTY
                Array.Copy(qwertyKeys, Settings.QwertyKeys, Settings.QwertyKeys.Length);
                Settings.UpdateKeyCodeMaps();

#if FAMISTUDIO_MACOS
                // Mac OS
                var pageMacOS = pages[(int)ConfigSection.MacOS];
                Settings.ReverseTrackPad       = pageMacOS.GetPropertyValue <bool>(0);
                Settings.TrackPadMoveSensitity = pageMacOS.GetPropertyValue <int>(1);
                Settings.TrackPadZoomSensitity = pageMacOS.GetPropertyValue <int>(2);
#endif

                Settings.Save();
            }

            return(dialogResult);
        }
예제 #4
0
        public DialogResult ShowDialog()
        {
            var dialogResult = dialog.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                // UI
                var pageUI           = pages[(int)ConfigSection.UserInterface];
                var pageSound        = pages[(int)ConfigSection.Sound];
                var scalingString    = pageUI.GetPropertyValue <string>(0);
                var timeFormatString = pageUI.GetPropertyValue <string>(1);

                Settings.DpiScaling       = scalingString == "System" ? 0 : int.Parse(scalingString.Substring(0, 3));
                Settings.TimeFormat       = Array.IndexOf(TimeFormatStrings, timeFormatString);
                Settings.CheckUpdates     = pageUI.GetPropertyValue <bool>(2);
                Settings.TrackPadControls = pageUI.GetPropertyValue <bool>(3);
#if FAMISTUDIO_MACOS
                Settings.ReverseTrackPad = pageUI.GetPropertyValue <bool>(4);
#endif

                // Sound
                Settings.InstrumentStopTime  = pageSound.GetPropertyValue <int>(0);
                Settings.SquareSmoothVibrato = pageSound.GetPropertyValue <bool>(1);

                // MIDI
                var pageMIDI = pages[(int)ConfigSection.MIDI];

                Settings.MidiDevice = pageMIDI.GetPropertyValue <string>(0);

                Settings.Save();
            }

            return(dialogResult);
        }
예제 #5
0
 public void ShowDialog(FamiStudioForm parentForm)
 {
     if (dialog.ShowDialog(parentForm) == DialogResult.OK)
     {
         dialog.Hide();
         Export(parentForm, false);
         lastExportCrc = lastExportFilename != null?ComputeProjectCrc(project) : 0;
     }
 }
예제 #6
0
        public DialogResult ShowDialog()
        {
            var dialogResult = dialog.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                var operation = (TransformOperation)dialog.SelectedIndex;

                switch (operation)
                {
                case TransformOperation.Cleanup: Cleanup(); break;
                }
            }

            return(dialogResult);
        }
예제 #7
0
        public void ShowDialog()
        {
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                var selectedFormat = (ExportFormat)dialog.SelectedIndex;

                switch (selectedFormat)
                {
                case ExportFormat.Wav: ExportWav(); break;

                case ExportFormat.Nsf: ExportNsf(); break;

                case ExportFormat.FamiTracker: ExportFamiTracker(); break;

                case ExportFormat.FamiTone2: ExportFamiTone2(); break;
                }
            }
        }
예제 #8
0
        public void ShowDialog(FamiStudioForm parentForm)
        {
            if (dialog.ShowDialog(parentForm) == DialogResult.OK)
            {
                dialog.Hide();

                var dlgLog = new LogProgressDialog(parentForm);
                using (var scopedLog = new ScopedLogOutput(dlgLog, LogSeverity.Info))
                {
                    var selectedFormat = (ExportFormat)dialog.SelectedIndex;

                    switch (selectedFormat)
                    {
                    case ExportFormat.WavMp3: ExportWavMp3(); break;

                    case ExportFormat.Video: ExportVideo(); break;

                    case ExportFormat.Nsf: ExportNsf(); break;

                    case ExportFormat.Rom: ExportRom(); break;

                    case ExportFormat.Text: ExportText(); break;

                    case ExportFormat.FamiTracker: ExportFamiTracker(); break;

                    case ExportFormat.FamiTone2Music: ExportFamiTone2Music(false); break;

                    case ExportFormat.FamiStudioMusic: ExportFamiTone2Music(true); break;

                    case ExportFormat.FamiTone2Sfx: ExportFamiTone2Sfx(false); break;

                    case ExportFormat.FamiStudioSfx: ExportFamiTone2Sfx(true); break;
                    }

                    if (dlgLog.HasMessages)
                    {
                        Log.LogMessage(LogSeverity.Info, "Done!");
                        Log.ReportProgress(1.0f);
                    }

                    dlgLog.StayModalUntilClosed();
                }
            }
        }
예제 #9
0
        public DialogResult ShowDialog(FamiStudioForm parent)
        {
            var dialogResult = dialog.ShowDialog(parent);

            if (dialogResult == DialogResult.OK)
            {
                // UI
                var pageUI           = pages[(int)ConfigSection.UserInterface];
                var pageSound        = pages[(int)ConfigSection.Sound];
                var scalingString    = pageUI.GetPropertyValue <string>(0);
                var timeFormatString = pageUI.GetPropertyValue <string>(1);
                var followModeString = pageUI.GetPropertyValue <string>(2);
                var followSyncString = pageUI.GetPropertyValue <string>(3);

                Settings.DpiScaling             = scalingString == "System" ? 0 : int.Parse(scalingString.Substring(0, 3));
                Settings.TimeFormat             = Array.IndexOf(TimeFormatStrings, timeFormatString);
                Settings.FollowMode             = Array.IndexOf(FollowModeStrings, followModeString);
                Settings.FollowSync             = Array.IndexOf(FollowSyncStrings, followSyncString);
                Settings.CheckUpdates           = pageUI.GetPropertyValue <bool>(4);
                Settings.ShowPianoRollViewRange = pageUI.GetPropertyValue <bool>(5);
                Settings.ShowNoteLabels         = pageUI.GetPropertyValue <bool>(6);
                Settings.TrackPadControls       = pageUI.GetPropertyValue <bool>(7);
#if FAMISTUDIO_MACOS
                Settings.ReverseTrackPad = pageUI.GetPropertyValue <bool>(8);
#endif

                // Sound
                Settings.NumBufferedAudioFrames = pageSound.GetPropertyValue <int>(0);
                Settings.InstrumentStopTime     = pageSound.GetPropertyValue <int>(1);
                Settings.SquareSmoothVibrato    = pageSound.GetPropertyValue <bool>(2);
                Settings.NoDragSoungWhenPlaying = pageSound.GetPropertyValue <bool>(3);

                // MIDI
                var pageMIDI = pages[(int)ConfigSection.MIDI];

                Settings.MidiDevice = pageMIDI.GetPropertyValue <string>(0);

                Settings.Save();
            }

            return(dialogResult);
        }
예제 #10
0
        public DialogResult ShowDialog(FamiStudioForm parent)
        {
            var dialogResult = dialog.ShowDialog(parent);

            if (dialogResult == DialogResult.OK)
            {
                var operation = (TransformOperation)dialog.SelectedIndex;

                switch (operation)
                {
                case TransformOperation.SongCleanup:
                    SongCleanup();
                    break;

                case TransformOperation.ProjectCleanup:
                    ProjectCleanup();
                    break;
                }
            }

            return(dialogResult);
        }