Example #1
0
        public static async void UploadRecordingToFileDotIO(AIR_API.Recording recording)
        {
            string expires = "/?expires=1w";

            using (var httpClient = new HttpClient())
            {
                using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://file.io" + expires))
                {
                    var multipartContent = new MultipartFormDataContent();
                    multipartContent.Add(new ByteArrayContent(File.ReadAllBytes(recording.FilePath)), "file", Path.GetFileName(recording.FilePath));
                    request.Content = multipartContent;

                    var response = await httpClient.SendAsync(request);

                    string result = await response.Content.ReadAsStringAsync();

                    dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(result);
                    string  url     = jsonObj.link;

                    string message = Management.UserLanguage.RecordingUploaded(url);
                    Clipboard.SetText(url);
                    MessageBox.Show(message);
                }
            }
        }
Example #2
0
 public static void OpenRecordingLocation()
 {
     if (Instance.GameRecordingList.SelectedItem != null)
     {
         AIR_API.Recording item = Instance.GameRecordingList.SelectedItem as AIR_API.Recording;
         if (File.Exists(item.FilePath))
         {
             Process.Start("explorer.exe", "/select, " + item.FilePath);
         }
     }
 }
Example #3
0
        public static void CollectGameRecordings(ref ModManager Instance)
        {
            Instance.GameRecordingList.Items.Clear();

            if (Management.ProgramPaths.GameRecordingsFolderDesiredPath == Management.ProgramPaths.GameRecordingSearchLocation.S3AIR_Custom)
            {
                if (Directory.Exists(Management.ProgramPaths.CustomGameRecordingsFolderPath))
                {
                    Instance.RecordingsLocationBrowse.Content = $"{Management.UserLanguage.GetOutputString("CustomWordString")} ({Management.ProgramPaths.CustomGameRecordingsFolderPath})";
                }
                else
                {
                    Instance.RecordingsLocationBrowse.Content = Instance.RecordingsLocationBrowse.Tag.ToString();
                }
                Instance.RecordingsSelectedLocationBrowseButton.IsEnabled = true;
            }
            else
            {
                Instance.RecordingsSelectedLocationBrowseButton.IsEnabled = false;
            }

            if (Management.ProgramPaths.DoesSonic3AIRGameRecordingsFolderPathExist())
            {
                Instance.recordingsErrorMessagePanel.Visibility = Visibility.Collapsed;

                string baseDirectory = Management.ProgramPaths.GetSonic3AIRGameRecordingsFolderPath();
                if (Directory.Exists(baseDirectory))
                {
                    DirectoryInfo directoryInfo = new DirectoryInfo(baseDirectory);
                    FileInfo[]    fileInfo      = directoryInfo.GetFiles("*.bin").ToArray();
                    foreach (var file in fileInfo)
                    {
                        try
                        {
                            AIR_API.Recording recording = new AIR_API.Recording(file);
                            Instance.GameRecordingList.Items.Add(recording);
                        }
                        catch
                        {
                            //TODO : Add A Valid Catch Statement
                        }
                    }
                }
            }
            else
            {
                Instance.recordingsErrorMessage.Text            = Instance.recordingsErrorMessage.Tag.ToString().Replace("{0}", Management.UserLanguage.FolderOrFileDoesNotExist(Management.ProgramPaths.GetSonic3AIRGameRecordingsFolderPath(), false));
                Instance.recordingsErrorMessagePanel.Visibility = Visibility.Visible;
            }
        }
Example #4
0
 public static bool DeleteRecording(AIR_API.Recording recording)
 {
     if (MessageBox.Show(Management.UserLanguage.DeleteItem(recording.Name), "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == System.Windows.Forms.DialogResult.Yes)
     {
         try
         {
             File.Delete(recording.FilePath);
             return(true);
         }
         catch
         {
             MessageBox.Show(Program.LanguageResource.GetString("UnableToDeleteFile"), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
Example #5
0
 public static void CopyRecordingLocationToClipboard(AIR_API.Recording item)
 {
     Clipboard.SetText(item.FilePath);
     MessageBox.Show(Program.LanguageResource.GetString("RecordingPathCopiedToClipboard"));
 }