コード例 #1
0
        public AudioDeploymentResult Download(IAbsoluteProgressMonitor monitor, ITargetDirectoryProvider targetDirectoryProvider)
        {
            string downloadTargetPath = targetDirectoryProvider.GetFullPath(this);

            // Make sure the target directory exists
            System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(downloadTargetPath));

            // Only download if the target file doesn't exist (or is empty, that is, a stub)
            if (!System.IO.File.Exists(downloadTargetPath) || new System.IO.FileInfo(downloadTargetPath).Length == 0)
            {
                // Download the file (synchronously)
                client.DownloadFile(new Uri(SourceUrl), downloadTargetPath);

                // TODO: set additional ID3 information regarding source, author, license, tags etc. on the file
            }
            monitor.IncreaseProgress(DownloadSize.GetValueOrDefault(1));

            return(AudioDeploymentResult.SUCCESS);
        }
コード例 #2
0
 public AudioDeploymentResult Deploy(IAbsoluteProgressMonitor monitor, ITargetDirectoryProvider targetDirectoryProvider)
 {
     return(Download(monitor, targetDirectoryProvider));
 }
コード例 #3
0
ファイル: FreesoundAudioSource.cs プロジェクト: zBart/Ares
        public Task <IEnumerable <ISearchResult> > SearchSimilar(string id, int pageSize, int pageIndex, IAbsoluteProgressMonitor monitor, out int?totalNumberOfResults)
        {
            IEnumerable <ISearchResult> results = new List <ISearchResult>();

            // Perform the search
            results = new FreesoundApiSearch(this, this.m_Client, monitor)
                      .GetSimilarSearchResults(id, pageSize, pageIndex, out totalNumberOfResults);

            var completionSource = new TaskCompletionSource <IEnumerable <ISearchResult> >();

            completionSource.SetResult((ICollection <ISearchResult>)results);
            return(completionSource.Task);
        }
コード例 #4
0
 private AudioDeploymentResult DeployFile(IDeployableAudioFile downloadableFile, IAbsoluteProgressMonitor absoluteMonitor, ITargetDirectoryProvider targetDirectoryProvider)
 {
     return(downloadableFile.Deploy(absoluteMonitor, targetDirectoryProvider));
 }
コード例 #5
0
        public Task <IEnumerable <ISearchResult> > SearchSimilar(string id, int pageSize, int pageIndex, IAbsoluteProgressMonitor monitor, out int?totalNumberOfResults)
        {
            List <ISearchResult> results = new List <ISearchResult>();

            FileSearchResult soundResult = new FileSearchResult(this, AudioSearchResultType.SoundFile, SOUND_RESOURCE_NAME);

            soundResult.Title = "Sound-Datei (" + id + ")";

            FileSearchResult musicResult = new FileSearchResult(this, AudioSearchResultType.MusicFile, MUSIC_RESOURCE_NAME);

            musicResult.Title = "Musik-Datei (" + id + ")";

            ModeElementSearchResult modeResult = new ModeElementSearchResult(this, soundResult, musicResult);

            modeResult.Title = "Szenario (" + id + ")";

            results.Add(soundResult);
            results.Add(musicResult);
            results.Add(modeResult);

            totalNumberOfResults = results.Count;

            var completionSource = new TaskCompletionSource <IEnumerable <ISearchResult> >();

            completionSource.SetResult(results);
            return(completionSource.Task);
        }
コード例 #6
0
 public AudioDeploymentResult Deploy(IAbsoluteProgressMonitor monitor, ITargetDirectoryProvider targetDirectoryProvider)
 {
     ((TestAudioSource)AudioSource).ExtractEmbeddedFile(m_ResourceName, targetDirectoryProvider.GetFullPath(this));
     return(AudioDeploymentResult.SUCCESS);
 }
コード例 #7
0
ファイル: FreesoundApiSearch.cs プロジェクト: zBart/Ares
 public FreesoundApiSearch(FreesoundAudioSource audioSource, IRestClient client, IAbsoluteProgressMonitor monitor)
 {
     this.m_Monitor     = monitor;
     this.m_Client      = client;
     this.m_AudioSource = audioSource;
 }