Skip to content

gnustep/apps-videoplayer

Repository files navigation

apps-videoplayer

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.

Features

  • 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.

Requirements

  • 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.).

Build & Run (macOS / Unix with GNUstep)

  1. Install GNUstep (follow the official instructions at https://www.gnustep.org/).
  2. 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
  1. Build the project:
make
  1. 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.

Project layout

  • 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 by make.
  • VideoPlayer.pcproj/ — ProjectCenter project metadata (optional, for editing in ProjectCenter).

Troubleshooting

  • "Undefined symbols" or missing headers during build: ensure you sourced the correct GNUstep.sh and installed gnustep-make, gnustep-base and gnustep-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 inspect AppController.m to see how UI objects are connected.

Contributing

Small fixes, documentation updates, and bug reports are welcome. If you add features please document build/runtime requirements and update this README.

License

This repository does not include a license file. Add a LICENSE or LICENSE.md to clarify usage and contribution terms.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published