I've been studying C++ for a while now, and I am pretty well-versed in the idea of OOP and how to properly structure programs. In essence, I understand how to structure program logic, but I don't actually know how to make my computer do anything but print values to the terminal, if that makes sense. Is there some sort of API for Linux/UNIX? If there isn't, is there a way to create one? I might be starting to delve into fairly complex areas here, but I feel like it's time to do a little more than "print".
It's just that all I know how to do is read files, command line input, etc, but I don't know how to make the computer do anything but that. Are there not just commands you can run for "draw a line" or "play a sound" or anything of the like? I'm looking mainly into sound generation (like synthesizers), but learning how to do anything like that would be nice.
You might want to explore wxWidgets library, or like sd said, GTK+ or SFML. If you want to add GUI's you will either have to program a graphics library yourself or start working with one that's already been created.