diff --git a/Controllers/Managers/DirectoryManager.cs b/Controllers/Managers/DirectoryManager.cs index f06b106..33ea555 100644 --- a/Controllers/Managers/DirectoryManager.cs +++ b/Controllers/Managers/DirectoryManager.cs @@ -13,70 +13,26 @@ namespace Icarus.Controllers.Managers { public class DirectoryManager : BaseManager { - #region Fields - private IConfiguration _config; - private Song _song; - private string _rootSongDirectory; - private string _songDirectory; - #endregion - - - #region Properties - public string SongDirectory - { - get => _songDirectory; - set => _songDirectory = value; - } - #endregion - - - #region Constructors - public DirectoryManager(IConfiguration config, Song song) - { - _config = config; - _song = song; - Initialize(); - } - public DirectoryManager(IConfiguration config) - { - _config = config; - Initialize(); - } - public DirectoryManager(string rootDirectory) - { - _rootSongDirectory = rootDirectory; - } - #endregion - - #region Methods #region C++ libs [DllImport("libicarus.so")] public static extern void create_directory(SongManager.Sng song, string root_path, StringBuilder created_dir); + [DllImport("libicarus.so")] public static extern void copy_stock_cover_art(string target_path, string source_path); + [DllImport("libicarus.so")] public static extern void copy_song(string target_path, string source_path); + [DllImport("libicarus.so")] public static extern void delete_cover_art(string cover_art_path, string stock_path); + [DllImport("libicarus.so")] public static extern void delete_empty_directories(SongManager.Sng song, string root_path); + [DllImport("libicarus.so")] public static extern void delete_song_empty_directories(SongManager.Sng song, string root_path); #endregion - - private void Initialize(DirectoryType dirTypes = DirectoryType.Music) - { - switch (dirTypes) - { - case DirectoryType.Music: - _rootSongDirectory = _config.GetValue("RootMusicPath"); - break; - case DirectoryType.CoverArt: - _rootSongDirectory = _config.GetValue("CoverArtPath"); - break; - } - } #endregion } } diff --git a/Controllers/Utilities/MetadataRetriever.cs b/Controllers/Utilities/MetadataRetriever.cs index 392c5c3..cc1919f 100644 --- a/Controllers/Utilities/MetadataRetriever.cs +++ b/Controllers/Utilities/MetadataRetriever.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Runtime.InteropServices; using Microsoft.Extensions.Logging; using NLog; @@ -101,6 +102,9 @@ namespace Icarus.Controllers.Utilities return song; } + [DllImport("libicarus.so")] + public static extern Icarus.Controllers.Managers.SongManager.Sng retrieve_metadata(string file_path); + public byte[] RetrieveCoverArtBytes(Song song) { try diff --git a/Icarus.txt b/Icarus.txt deleted file mode 100644 index 5833b20..0000000 --- a/Icarus.txt +++ /dev/null @@ -1,313 +0,0 @@ -2019-05-23 20:25:46.2420 Info Message Template Auto Format enabled -2019-05-23 20:25:46.2666 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:25:46.3926 Info Adding target File Target[allfile] -2019-05-23 20:25:46.4144 Info Adding target File Target[ownFile-web] -2019-05-23 20:25:46.4351 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:25:46.4703 Info Found 45 configuration items -2019-05-23 20:26:13.6466 Info Message Template Auto Format enabled -2019-05-23 20:26:13.6651 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:26:13.8165 Info Adding target File Target[allfile] -2019-05-23 20:26:13.8351 Info Adding target File Target[ownFile-web] -2019-05-23 20:26:13.8552 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:26:13.8939 Info Found 45 configuration items -2019-05-23 20:33:39.8295 Info Message Template Auto Format enabled -2019-05-23 20:33:39.8438 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:33:39.9198 Info Adding target File Target[allfile] -2019-05-23 20:33:39.9238 Info Adding target File Target[ownFile-web] -2019-05-23 20:33:39.9238 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:33:39.9871 Info Found 45 configuration items -2019-05-23 20:33:40.2458 Info Configuration initialized. -2019-05-23 20:33:40.2602 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:33:42.2086 Info Shutting down logging... -2019-05-23 20:33:42.2458 Info Logger has been shut down. -2019-05-23 20:34:06.6746 Info Message Template Auto Format enabled -2019-05-23 20:34:06.6896 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:34:06.7827 Info Adding target File Target[allfile] -2019-05-23 20:34:06.7827 Info Adding target File Target[ownFile-web] -2019-05-23 20:34:06.8010 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:34:06.8321 Info Found 45 configuration items -2019-05-23 20:34:06.8673 Info Configuration initialized. -2019-05-23 20:34:06.8673 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:34:07.7083 Info Shutting down logging... -2019-05-23 20:34:07.7346 Info Logger has been shut down. -2019-05-23 20:35:03.8649 Info Message Template Auto Format enabled -2019-05-23 20:35:03.8783 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:35:03.9596 Info Adding target File Target[allfile] -2019-05-23 20:35:03.9596 Info Adding target File Target[ownFile-web] -2019-05-23 20:35:03.9745 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:35:03.9958 Info Found 45 configuration items -2019-05-23 20:35:04.0200 Info Configuration initialized. -2019-05-23 20:35:04.0200 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:35:04.5747 Info Shutting down logging... -2019-05-23 20:35:04.6042 Info Logger has been shut down. -2019-05-23 20:35:41.2884 Info Message Template Auto Format enabled -2019-05-23 20:35:41.3011 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:35:41.3629 Info Adding target File Target[allfile] -2019-05-23 20:35:41.3629 Info Adding target File Target[ownFile-web] -2019-05-23 20:35:41.3755 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:35:41.3973 Info Found 45 configuration items -2019-05-23 20:35:41.4257 Info Configuration initialized. -2019-05-23 20:35:41.4257 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:35:42.0181 Info Shutting down logging... -2019-05-23 20:35:42.0437 Info Logger has been shut down. -2019-05-23 20:36:03.3664 Info Message Template Auto Format enabled -2019-05-23 20:36:03.3803 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:36:03.4469 Info Adding target File Target[allfile] -2019-05-23 20:36:03.4469 Info Adding target File Target[ownFile-web] -2019-05-23 20:36:03.4634 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:36:03.4897 Info Found 45 configuration items -2019-05-23 20:36:03.5214 Info Configuration initialized. -2019-05-23 20:36:03.5214 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:36:04.0862 Info Shutting down logging... -2019-05-23 20:36:04.1162 Info Logger has been shut down. -2019-05-23 20:37:13.4449 Info Message Template Auto Format enabled -2019-05-23 20:37:13.4578 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:37:13.5222 Info Adding target File Target[allfile] -2019-05-23 20:37:13.5222 Info Adding target File Target[ownFile-web] -2019-05-23 20:37:13.5349 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:37:13.5575 Info Found 45 configuration items -2019-05-23 20:37:13.5870 Info Configuration initialized. -2019-05-23 20:37:13.5870 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:37:14.1141 Info Shutting down logging... -2019-05-23 20:37:14.1395 Info Logger has been shut down. -2019-05-23 20:37:38.9373 Info Message Template Auto Format enabled -2019-05-23 20:37:38.9373 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:37:39.0239 Info Adding target File Target[allfile] -2019-05-23 20:37:39.0239 Info Adding target File Target[ownFile-web] -2019-05-23 20:37:39.0371 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:37:39.0624 Info Found 45 configuration items -2019-05-23 20:37:39.0916 Info Configuration initialized. -2019-05-23 20:37:39.0984 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:37:39.2254 Info Shutting down logging... -2019-05-23 20:37:39.2461 Info Logger has been shut down. -2019-05-23 20:38:15.2217 Info Message Template Auto Format enabled -2019-05-23 20:38:15.2426 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:38:15.3307 Info Adding target File Target[allfile] -2019-05-23 20:38:15.3307 Info Adding target File Target[ownFile-web] -2019-05-23 20:38:15.3434 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:38:15.3733 Info Found 45 configuration items -2019-05-23 20:38:15.4046 Info Configuration initialized. -2019-05-23 20:38:15.4103 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:38:16.3887 Info Shutting down logging... -2019-05-23 20:38:16.4170 Info Logger has been shut down. -2019-05-23 20:38:56.3096 Info Message Template Auto Format enabled -2019-05-23 20:38:56.3228 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:38:56.3991 Info Adding target File Target[allfile] -2019-05-23 20:38:56.3991 Info Adding target File Target[ownFile-web] -2019-05-23 20:38:56.4137 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:38:56.4412 Info Found 45 configuration items -2019-05-23 20:38:56.4662 Info Configuration initialized. -2019-05-23 20:38:56.4711 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:38:57.5659 Info Shutting down logging... -2019-05-23 20:38:57.5921 Info Logger has been shut down. -2019-05-23 20:39:33.6137 Info Message Template Auto Format enabled -2019-05-23 20:39:33.6328 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:39:33.7158 Info Adding target File Target[allfile] -2019-05-23 20:39:33.7209 Info Adding target File Target[ownFile-web] -2019-05-23 20:39:33.7349 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\NLog.config... -2019-05-23 20:39:33.7661 Info Found 45 configuration items -2019-05-23 20:39:33.7984 Info Configuration initialized. -2019-05-23 20:39:33.7984 Info NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 4.5.11.8645. Product version: 4.5.11. -2019-05-23 20:39:35.3535 Info Shutting down logging... -2019-05-23 20:39:35.3853 Info Logger has been shut down. -2019-05-23 20:41:03.9531 Info Message Template Auto Format enabled -2019-05-23 20:41:04.0224 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:41:04.2489 Info Adding target File Target[allfile] -2019-05-23 20:41:04.2638 Info Adding target File Target[ownFile-web] -2019-05-23 20:41:04.2801 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:41:04.3178 Info Found 45 configuration items -2019-05-23 20:42:20.8771 Info Message Template Auto Format enabled -2019-05-23 20:42:20.8771 Info Found 45 configuration items -2019-05-23 20:42:20.8771 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:42:20.8771 Info Adding target File Target[allfile] -2019-05-23 20:42:20.8771 Info Adding target File Target[ownFile-web] -2019-05-23 20:42:20.8771 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:42:20.8912 Info Closing old configuration. -2019-05-23 20:42:20.9264 Info Found 45 configuration items -2019-05-23 20:44:09.2436 Info Message Template Auto Format enabled -2019-05-23 20:44:09.2625 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:44:09.5033 Info Adding target File Target[allfile] -2019-05-23 20:44:09.5221 Info Adding target File Target[ownFile-web] -2019-05-23 20:44:09.5436 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:44:09.5955 Info Found 45 configuration items -2019-05-23 20:44:22.9386 Info Message Template Auto Format enabled -2019-05-23 20:44:22.9386 Info Found 45 configuration items -2019-05-23 20:44:22.9386 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:44:22.9525 Info Adding target File Target[allfile] -2019-05-23 20:44:22.9525 Info Adding target File Target[ownFile-web] -2019-05-23 20:44:22.9525 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:44:22.9525 Info Closing old configuration. -2019-05-23 20:44:22.9920 Info Found 45 configuration items -2019-05-23 20:45:56.3589 Info Message Template Auto Format enabled -2019-05-23 20:45:56.3781 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:45:56.5714 Info Adding target File Target[allfile] -2019-05-23 20:45:56.5830 Info Adding target File Target[ownFile-web] -2019-05-23 20:45:56.5944 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:45:56.6232 Info Found 45 configuration items -2019-05-23 20:46:59.8334 Info Message Template Auto Format enabled -2019-05-23 20:46:59.8559 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:47:00.0588 Info Adding target File Target[allfile] -2019-05-23 20:47:00.0756 Info Adding target File Target[ownFile-web] -2019-05-23 20:47:00.1007 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:47:00.1455 Info Found 45 configuration items -2019-05-23 20:48:14.1040 Info Message Template Auto Format enabled -2019-05-23 20:48:14.1282 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:48:14.2899 Info Adding target File Target[allfile] -2019-05-23 20:48:14.3059 Info Adding target File Target[ownFile-web] -2019-05-23 20:48:14.3273 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:48:14.3764 Info Found 45 configuration items -2019-05-23 20:49:07.1970 Info Message Template Auto Format enabled -2019-05-23 20:49:07.2494 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:49:07.4433 Info Adding target File Target[allfile] -2019-05-23 20:49:07.4565 Info Adding target File Target[ownFile-web] -2019-05-23 20:49:07.4760 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:49:07.5338 Info Found 45 configuration items -2019-05-23 20:49:20.7109 Info Message Template Auto Format enabled -2019-05-23 20:49:20.7109 Info Found 45 configuration items -2019-05-23 20:49:20.7109 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 20:49:20.7184 Info Adding target File Target[allfile] -2019-05-23 20:49:20.7184 Info Adding target File Target[ownFile-web] -2019-05-23 20:49:20.7184 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 20:49:20.7184 Info Closing old configuration. -2019-05-23 20:49:20.7514 Info Found 45 configuration items -2019-05-23 21:24:18.4464 Info Message Template Auto Format enabled -2019-05-23 21:24:18.4889 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:24:18.7399 Info Adding target File Target[allfile] -2019-05-23 21:24:18.7604 Info Adding target File Target[ownFile-web] -2019-05-23 21:24:18.7838 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:24:18.8238 Info Found 45 configuration items -2019-05-23 21:25:06.3861 Info Message Template Auto Format enabled -2019-05-23 21:25:06.3904 Info Found 45 configuration items -2019-05-23 21:25:06.3904 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:25:06.4052 Info Adding target File Target[allfile] -2019-05-23 21:25:06.4052 Info Adding target File Target[ownFile-web] -2019-05-23 21:25:06.4052 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:25:06.4243 Info Closing old configuration. -2019-05-23 21:25:06.4727 Info Found 45 configuration items -2019-05-23 21:26:26.1707 Info Message Template Auto Format enabled -2019-05-23 21:26:26.1964 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:26:26.3688 Info Adding target File Target[allfile] -2019-05-23 21:26:26.3866 Info Adding target File Target[ownFile-web] -2019-05-23 21:26:26.4195 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:26:26.4805 Info Found 45 configuration items -2019-05-23 21:27:58.0534 Info Message Template Auto Format enabled -2019-05-23 21:27:58.0751 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:27:58.2630 Info Adding target File Target[allfile] -2019-05-23 21:27:58.2786 Info Adding target File Target[ownFile-web] -2019-05-23 21:27:58.2977 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:27:58.3440 Info Found 45 configuration items -2019-05-23 21:28:30.3852 Info Message Template Auto Format enabled -2019-05-23 21:28:30.3901 Info Found 45 configuration items -2019-05-23 21:28:30.3901 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:28:30.4094 Info Adding target File Target[allfile] -2019-05-23 21:28:30.4094 Info Adding target File Target[ownFile-web] -2019-05-23 21:28:30.4094 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:28:30.4256 Info Closing old configuration. -2019-05-23 21:28:30.4744 Info Found 45 configuration items -2019-05-23 21:28:35.1110 Info Message Template Auto Format enabled -2019-05-23 21:28:35.1110 Info Found 45 configuration items -2019-05-23 21:28:35.1110 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:28:35.1110 Info Adding target File Target[allfile] -2019-05-23 21:28:35.1110 Info Adding target File Target[ownFile-web] -2019-05-23 21:28:35.1110 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:28:35.1110 Info Closing old configuration. -2019-05-23 21:28:35.1110 Info Found 45 configuration items -2019-05-23 21:33:27.3097 Info Message Template Auto Format enabled -2019-05-23 21:33:27.3317 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:33:27.6071 Info Adding target File Target[allfile] -2019-05-23 21:33:27.6230 Info Adding target File Target[ownFile-web] -2019-05-23 21:33:27.6409 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:33:27.6860 Info Found 45 configuration items -2019-05-23 21:34:21.2749 Info Message Template Auto Format enabled -2019-05-23 21:34:21.2749 Info Found 45 configuration items -2019-05-23 21:34:21.2822 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:34:21.2822 Info Adding target File Target[allfile] -2019-05-23 21:34:21.2977 Info Adding target File Target[ownFile-web] -2019-05-23 21:34:21.2977 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:34:21.2977 Info Closing old configuration. -2019-05-23 21:34:21.3496 Info Found 45 configuration items -2019-05-23 21:34:44.8361 Info Message Template Auto Format enabled -2019-05-23 21:34:44.8361 Info Found 45 configuration items -2019-05-23 21:34:44.8361 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:34:44.8475 Info Adding target File Target[allfile] -2019-05-23 21:34:44.8475 Info Adding target File Target[ownFile-web] -2019-05-23 21:34:44.8475 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:34:44.8475 Info Closing old configuration. -2019-05-23 21:34:49.8402 Info Found 45 configuration items -2019-05-23 21:36:39.6643 Info Message Template Auto Format enabled -2019-05-23 21:36:39.6956 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:36:39.9527 Info Adding target File Target[allfile] -2019-05-23 21:36:39.9527 Info Adding target File Target[ownFile-web] -2019-05-23 21:36:39.9854 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:36:40.0214 Info Found 45 configuration items -2019-05-23 21:37:11.5126 Info Message Template Auto Format enabled -2019-05-23 21:37:11.5149 Info Found 45 configuration items -2019-05-23 21:37:11.5149 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:37:11.5149 Info Adding target File Target[allfile] -2019-05-23 21:37:11.5149 Info Adding target File Target[ownFile-web] -2019-05-23 21:37:11.5149 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:37:11.5149 Info Closing old configuration. -2019-05-23 21:37:11.5688 Info Found 45 configuration items -2019-05-23 21:37:55.3893 Info Message Template Auto Format enabled -2019-05-23 21:37:55.3912 Info Found 45 configuration items -2019-05-23 21:37:55.3912 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:37:55.3912 Info Adding target File Target[allfile] -2019-05-23 21:37:55.4088 Info Adding target File Target[ownFile-web] -2019-05-23 21:37:55.4088 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:37:55.4088 Info Closing old configuration. -2019-05-23 21:37:55.4088 Info Found 45 configuration items -2019-05-23 21:44:40.0208 Info Message Template Auto Format enabled -2019-05-23 21:44:40.0474 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:44:40.2073 Info Adding target File Target[allfile] -2019-05-23 21:44:40.2186 Info Adding target File Target[ownFile-web] -2019-05-23 21:44:40.2186 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:44:40.2868 Info Found 45 configuration items -2019-05-23 21:45:19.6595 Info Message Template Auto Format enabled -2019-05-23 21:45:19.6595 Info Found 45 configuration items -2019-05-23 21:45:19.6595 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:45:19.6595 Info Adding target File Target[allfile] -2019-05-23 21:45:19.6595 Info Adding target File Target[ownFile-web] -2019-05-23 21:45:19.6595 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:45:19.6740 Info Closing old configuration. -2019-05-23 21:45:19.7116 Info Found 45 configuration items -2019-05-23 21:51:00.1698 Info Message Template Auto Format enabled -2019-05-23 21:51:00.1840 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:51:00.2721 Info Adding target File Target[allfile] -2019-05-23 21:51:00.2721 Info Adding target File Target[ownFile-web] -2019-05-23 21:51:00.2920 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:51:00.3152 Info Found 45 configuration items -2019-05-23 21:51:25.1256 Info Message Template Auto Format enabled -2019-05-23 21:51:25.1256 Info Found 45 configuration items -2019-05-23 21:51:25.1256 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:51:25.1256 Info Adding target File Target[allfile] -2019-05-23 21:51:25.1256 Info Adding target File Target[ownFile-web] -2019-05-23 21:51:25.1256 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:51:25.1412 Info Closing old configuration. -2019-05-23 21:51:25.1648 Info Found 45 configuration items -2019-05-23 21:51:25.2103 Info Message Template Auto Format enabled -2019-05-23 21:51:25.2103 Info Found 45 configuration items -2019-05-23 21:51:25.2103 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:51:25.2103 Info Adding target File Target[allfile] -2019-05-23 21:51:25.2103 Info Adding target File Target[ownFile-web] -2019-05-23 21:51:25.2103 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:51:25.2103 Info Closing old configuration. -2019-05-23 21:51:25.2182 Info Found 45 configuration items -2019-05-23 21:53:11.2368 Info Logger closing down... -2019-05-23 21:53:11.2368 Info Closing old configuration. -2019-05-23 21:53:11.2368 Info Logger has been closed down. -2019-05-23 21:53:11.2368 Info Shutting down logging... -2019-05-23 21:53:11.2555 Info Logger has been shut down. -2019-05-23 21:54:25.6441 Info Message Template Auto Format enabled -2019-05-23 21:54:25.6761 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:54:25.9546 Info Adding target File Target[allfile] -2019-05-23 21:54:25.9757 Info Adding target File Target[ownFile-web] -2019-05-23 21:54:25.9951 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:54:26.0361 Info Found 45 configuration items -2019-05-23 21:54:55.6086 Info Message Template Auto Format enabled -2019-05-23 21:54:55.6086 Info Found 45 configuration items -2019-05-23 21:54:55.6086 Info Loading assembly: NLog.Web.AspNetCore -2019-05-23 21:54:55.6086 Info Adding target File Target[allfile] -2019-05-23 21:54:55.6086 Info Adding target File Target[ownFile-web] -2019-05-23 21:54:55.6086 Info Configured from an XML element in C:\Users\user0\Programming\C#\Icarus\bin\Debug\netcoreapp2.2\nlog.config... -2019-05-23 21:54:55.6280 Info Closing old configuration. -2019-05-23 21:54:55.6926 Info Found 45 configuration items diff --git a/Libs/CMakeLists.txt b/Libs/CMakeLists.txt index 89c53a7..ff2d651 100644 --- a/Libs/CMakeLists.txt +++ b/Libs/CMakeLists.txt @@ -7,12 +7,14 @@ set(CMAKE_CXX_STANDARD 17) set(SOURCES src/directory_manager.cpp + src/metadata_retriever.cpp ) set(HEADERS include/models.h include/directory_manager.h + include/metadata_retriever.h ) add_library(icarus SHARED ${SOURCES} ${HEADERS}) include_directories(include) -target_link_libraries(icarus "-lstdc++fs") +target_link_libraries(icarus "-lstdc++fs" tag) diff --git a/Libs/include/directory_manager.h b/Libs/include/directory_manager.h index 567218d..39ed064 100644 --- a/Libs/include/directory_manager.h +++ b/Libs/include/directory_manager.h @@ -3,3 +3,10 @@ #include std::string create_directory_process(Song, const char*); +std::string read_cover_art(const char*); + +void copy_stock_to_root(const char*, const std::string); +void copy_song_to_path(const char*, const char*); +void delete_cover_art_file(const std::string); +void delete_directories(Song song, const char*); +void delete_song(Song song); diff --git a/Libs/include/metadata_retriever.h b/Libs/include/metadata_retriever.h new file mode 100644 index 0000000..44cab5d --- /dev/null +++ b/Libs/include/metadata_retriever.h @@ -0,0 +1,5 @@ +#include + +#include "models.h" + +Song fetch_metadata(const char*); diff --git a/Libs/src/metadata_retriever.cpp b/Libs/src/metadata_retriever.cpp new file mode 100644 index 0000000..f3911ca --- /dev/null +++ b/Libs/src/metadata_retriever.cpp @@ -0,0 +1,26 @@ +#include +#include + +#include "metadata_retriever.h" + +Song fetch_metadata(const char *song_path) +{ + Song sng; + std::string title = "ddd"; + sng.Title = (char*)title.c_str(); + sng.SongPath = (char*)song_path; + + return sng; +} + +extern "C" +{ + +Song retrieve_metadata(const char*); + +Song retrieve_metadata(const char* song_path) +{ + return fetch_metadata(song_path); +} + +}