The Media application consists of the following components:
- Music database, package goedegep.media.mediadb
- Music folder, package goedegep.media.musicfolder
- Photoshow builder and Photoshow viewer, package goedegep.media.photo.photoshow
- Photo map view, package goedegep.media.photo.photomapview
- Video database, package goedegep.media.videodb
- Dune, package goedegep.media.dune
An overview of the implementation is show in the following figure.
Package goedegep.media.exe
This package holds the classes to start the application.
Class MediaWrapper
This class is the entyry point for the Media executable. The class doesn’t do anything else than calling MediaApplication.main(args). This wrapper is needed because if the main class extends from javafx.application.Application the executable doesn’t work.
Class MediaApplication
This class is the main entry point for the Media JavaFX application. Like all MyWorld applications, the class extends JfxApplication.
This class uses the MediaService to start the Media menu window by calling MediaService.getInstance().showMediaMenuWindow().
Package goedegep.media.svc
This package only holds the media service.
Class MediaService
This class extends the goedegep.myworld.common.Service class, which is a template for services.
This service provides methods to start the main windows of the components.
Package goedegep.media.mediadb.logic
This package contains the logic related to the media database application.
Class MediaDbService
This class is a service on top of a media database. It provides methods to:
- add an album, artist or track to the database
- get the media database or its EMFResource
- open the album details window
- save the media database
TODO
Utility methods:
There will be many utility methods on the data model, which would polute the model. Therefore all methods are in goedegep.media.mediadb.model.util.MediaDbUtil.
All information related to the Music Folder is in ..musicfolder
The link between the music database en the Music Folder is under ..mediadb.logic

