feat: get audio file properties from taglib

This commit is contained in:
Gary Wang
2020-04-19 18:22:21 +08:00
parent 98d352a7c1
commit 35778d97bf
5 changed files with 88 additions and 7 deletions

View File

@ -1,5 +1,6 @@
_**This is a not ready to use, toy project**_
Since **I** just need a simple player which *just works* right now, so I did many things in a dirty way. Don't feel so weird if you saw something I did in this project is using a bad approach.
## Note
@ -13,6 +14,29 @@ Windows|[Supported Formats In DirectsShow](https://msdn.microsoft.com/en-us/libr
macOS|[Media formats supported by QuickTime Player](https://support.apple.com/en-us/HT201290)|Sorry, I don't know...
Unix/Linux|depends on [GStreamer](https://gstreamer.freedesktop.org/) plugins which user installed|[GStreamer Plug-ins: gst-plugins-base, gst-plugins-good, gst-plugins-ugly, gst-plugins-bad](https://gstreamer.freedesktop.org/documentation/additional/splitup.html?gi-language=c)
## Build
Current state, we need:
- `cmake` as the build system.
- `qt5` with `qt5-multimedia` since we use it for playback.
- `taglib` to get the audio file properties.
- `pkg-config` to find the installed taglib.
Then we can build it with any proper c++ compiler like g++ or msvc.
### Linux
Just normal build process as other program. Nothing special ;)
### Windows
Install the depts manually is a nightmare. I use [KDE Craft](https://community.kde.org/Craft) but MSYS2 should also works. FYI currently this project is not intended to works under Windows (it should works and I also did some simple test though).
### macOS
I don't have a mac, so no support at all.
## About License
Since this is a toy repo, I don't spend much time about the license stuff. Currently this project use some assets and code from [ShadowPlayer](https://github.com/ShadowPower/ShadowPlayer), which have a very interesting license -- do whatever you want but cannot be used as homework -- obviously it's not a so called *free* license. I *may* do some license housecleaning works by replaceing the assets and code implementation when the code become reasonable, and the final codebase may probably released under MIT license.