summaryrefslogtreecommitdiff
path: root/Projects/dmp.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/dmp.markdown')
-rw-r--r--Projects/dmp.markdown11
1 files changed, 11 insertions, 0 deletions
diff --git a/Projects/dmp.markdown b/Projects/dmp.markdown
new file mode 100644
index 0000000..9e3232f
--- /dev/null
+++ b/Projects/dmp.markdown
@@ -0,0 +1,11 @@
+
+The projects was started by me because I didn't like the fact that most crossplatform media player solutions didn't have a way to import other peoples librairies. DAAP shares are not widely supported and often a real pain to setup. So I set out to build a media player focussed on a shared library between connected clients and shared playlists.
+
+As a couple of my sub-goals I was going to learn gui programming and master some techniques and libraries. For example; I use Boost.Asio for network communication and timers. This library takes some getting used to when you use the asynchronous calls. Another library I use and learned during this project is Boost.Fusion which can adapt c++ structs to become iterable and allows for some primitive reflection. I use this to generate the views for my model.
+
+Ofcourse GUI programming is one of the challanges aswell, I'm using the crossplatform Qt GUI library for this. Gui programming has some really interesting problems to solve that take a different approach that I normally would take. Gui programming always tend to become inheritence heavy instead of template heavy, and notifiying the gui of changes in a generic way is still something I haven't fully figured out yet.
+
+That being said the project is coming along nicely and I have a crude working program as we speak. It still needs lots of work before it is finished though. And being a single person project does not help either.
+
+Here is a (at the time of writing already) outdated demo of the software.
+{% include video.html ogv='../assets/dmpdemo.ogv' webm='../assets/dmpdemo.webm' mp4='../assets/dmpdemo.mp4'%}