A small desktop video player example application implemented in Objective-C and built with GNUstep/Gorm.
This repository contains the source, interface definition, and build files for a simple VideoPlayer demo app. It's intended as an example or starting point for building GNUStep/Cocoa-style desktop apps that present a GUI (designed with Gorm) and provide basic video playback functionality.
- Objective-C source for app controller and main entry point (
AppController.h/.m,VideoPlayer_main.m). - Gorm UI resources in
Resources/VideoPlayer.gorm(interface builder files generated by Gorm). - GNUstep-style build using the included
GNUmakefile.
- GNUstep toolchain (gnustep-make, gnustep-base, gnustep-gui). On macOS you can install GNUstep via Homebrew or your package manager.
- A working video backend / codecs on your system. Playback relies on whatever multimedia frameworks are available to the platform; if some formats fail you may need to install additional codec support (ffmpeg, GStreamer, etc.).
- Install GNUstep (follow the official instructions at https://www.gnustep.org/).
- Source the GNUstep environment script from your installation so make knows where to find GNUstep makefiles. Common locations include:
# Example
. /usr/local/GNUstep/System/Library/Makefiles/GNUstep.sh- Build the project:
make- Run the app. Depending on the makefile and platform this repository may build an application bundle (e.g.
VideoPlayer.app) or a runnable binary. Try one of:
# If an .app bundle was created
gopen ./VideoPlayer.app
# Or run the binary produced by the build (if present)
./VideoPlayer.app/VideoPlayerIf make fails, inspect the GNUmakefile output for missing GNUstep dependencies or incorrect GNUstep environment setup.
AppController.h/AppController.m— main Objective-C class that manages the user interface and player logic.VideoPlayer_main.m— application entry point (main).Resources/VideoPlayer.gorm/— Gorm (Interface Builder) files describing windows and UI objects.VideoPlayerInfo.plist— application info property list.GNUmakefile,GNUmakefile.preamble,GNUmakefile.postamble— GNUstep build files used bymake.VideoPlayer.pcproj/— ProjectCenter project metadata (optional, for editing in ProjectCenter).
- "Undefined symbols" or missing headers during build: ensure you sourced the correct
GNUstep.shand installedgnustep-make,gnustep-baseandgnustep-gui. - App launches but video won't play: confirm your system has appropriate codecs. Try installing
ffmpegor a GStreamer backend if available for your platform. - If the UI doesn't appear correctly, open
Resources/VideoPlayer.gormwith Gorm or inspectAppController.mto see how UI objects are connected.
Small fixes, documentation updates, and bug reports are welcome. If you add features please document build/runtime requirements and update this README.
This repository does not include a license file. Add a LICENSE or LICENSE.md to clarify usage and contribution terms.