How do I start building a music player that supports flac?

How do I start building a music player that supports flac?

I'm doing a CS degree but I feel like it's worth my while to actually be able to make shit and not just balance trees.

I'm pretty comfortable with programming in general but I've never made much with a UI or made much that's actually useful. I want to design a music player just as a learning project mainly.

Where do I get started?

Other urls found in this thread:

xiph.org/flac/download.html
qt.io/ide/
twitter.com/AnonBabble

Audio is one of the most fucking annoyingly fickle things to work with in the entire realm of digital media, just giving you a heads up.

as if video is any easier

You want to do something useful? Port MPC-HC's UI to mpv. Make sure to set the keybinds to MPC-HC's defaults while you're at it.

In video there is no digital-analogue interface like in audio.

mpv has a significantly better UI than MPC-HC

Here is an idea, make a foobar2000 like linux/OSX player. At least something that allows you to set library folders and browse trough the actual folder structure to add music to playlist inside the player itself.

>no right-click
Were you writing it for Mac?

that's what I was thinking but how do I start

yes

Import a library.

You make a GUI with something like QT and use libflac for the actual decoding.

When you render a video, you have to draw a new frame about 24 times a second. That's a frame about every 0.042 seconds.

When you output audio, you need to play a sample about 44,100 times a second.

m8 you just submit samples to the hardware in bulk and the hardware takes care of that for you.

literally just this

We need to write everything from scratch though. Reusing other people's code like sound drivers or whatever is like cheating.

xiph.org/flac/download.html
qt.io/ide/

Why do you?
Besides, I said the HARDWARE takes care of the timing, not the driver. That would be retarded.

These are the most common frame/sample rates, but you have to be able to handle others in your media player.

The fact that you're saying this indicates you're not ready for this project quite yet.

>using hardware you didn't develop and forge independently
botnet

If you want to implement everything by yourself try to make a wav player or another format that is only pcm data with no compresion before starting with ogg or flac.