tags:

views:

220

answers:

4

I am pretty dissatisfied with all the available media players, and I was also looking for a major project to really get into programming. so I am thinking of writing my own media player . Or to be more accurate a gui-frontend for mplayer (something similar to smplayer). How hard would this be.? I have plenty of time (months), and am willing to learn anything.

I practically don't have any knowledge of any windows/gui libraries . My programming experience : tried lots of different languages, wrote a couple of websites in php, lots of practice in java (although did nothing major) . Thats all

Can someone provide some guidance, about where to get started. what all to read. Which language should be used. is C#/.net a good language for this? since I am no expert in any language and have dabbled in plenty of different languages , I think I can pick up any language. Though My main concern is my lack of any practical knowledge . So guide me please.

Lastly my preference is windows (haha whatever), so thats what my target is and thats where I'll doing my coding.

To sum it up I want to create a guifrontend for mplayer that would work in windows.

Thanks

Edit: by mplayer I mean mplayer (the linux one) , and not WIndows media player.

A: 

C# is great for creating any desktop gui quickly. Best way to start with the gui design is to play a bit with the drag/drop components available in visual studio. For the functionality you can use this: http://msdn.microsoft.com/en-us/library/dd564585%28VS.85%29.aspx .

abc
Thanks but I don't need any help with creating a gui in C# . That's easy. The help I need is in talking to mplayer (not WMP, but the linux one)
You said "I practically don't have any knowledge of any windows/gui libraries", so that's a logical answer...
Valentin Rocher
A: 

I know what I'm going to recommend you is not what you're looking for, BUT:

I'd create a front-end for VLC, which uses Qt, a GUI framework which is extremely usable and easy to start with, in C++.

From my experience as an user, VLC is also more stable and has more features.

Flavius
Maybe this is a platform issue, because mplayer on Linux is much more stable and featureful than VLC.
Justin Smith
i wasn't aware that a frontend for vlc could be created. I'll definitely look into it. Thanks
IME, recent versions of VLC (.9.x and 1.x) do crash more easily than MPlayer on Windows. But there are still odd files that one or the other can't play, so I keep them both around.
Anonymous
A: 

Start by copying a working implementation. As you mentioned, SMPlayer exists as a working example of what you want. I'd recommend starting by either hacking it to work better (the playlist really needs more intuitive controls, and multiple monitor support in Windows was nonexistent last time I tried it) or trying to duplicate it in your language of choice.

The benefits of hacking on an existing probject include: the existing codebase works, the margin of work required to make a noticeable change is much smaller, and the existing developers are able to help you come to speed with internals. Also, learning the project's language (C++) would be useful, though it may not be worth the effort if it's more interesting to copy its features in your favorite language.

Anonymous
yes that definitely seems the logical way to proceed.
A: 

One good place to start could be looking at how the code for gmplayer works - gmplayer is the graphic frontend for mplayer on Linux. It could be that all you really need to do is port the gmplayer code to Windows, then you get a fully integrated GUI instead of just a frontend.

Also, feature request: a nice friendly UI for putting video / audio effects on the output stream (it is so hard to use in the CLI version that most mplayer users probably don't even know it is in there).

Justin Smith
>video / audio effects on the output stream.. I am not sure what this means :)
In the Linux man page (on my system at least) the "AUDIO FILTERS" section starts at line 3620 and "VIDEO FILTERS" starts at about line 4126. It does things like cropping, normalization, flip, mirror, rotate, reverb, denoise, equalization, interlace phase, logo / watermark removal, that sort of thing.
Justin Smith
ok, but i think smplayer already got a few of these.