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/VideoPlayer
If 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.sh
and installedgnustep-make
,gnustep-base
andgnustep-gui
. - App launches but video won't play: confirm your system has appropriate codecs. Try installing
ffmpeg
or a GStreamer backend if available for your platform. - If the UI doesn't appear correctly, open
Resources/VideoPlayer.gorm
with Gorm or inspectAppController.m
to 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.