// $Id$

/*
  This defines the media API, by which media files can be presented to others.
  
  There are administer settings. 
  These encompass the extensions, types, presenters and programs.

  API Functions:
  --------------
  
  Variables in use:
  - mapi_public => Public Directory
  - mapi_private => Private Directory
  - mapi_temp => Temporary Public Working Directory
  
  The functions for general use:

  // general information from files
  * mapi_file_basename()
  * mapi_file_name()
  * mapi_file_ext()
  * mapi_file_freename()
  * mapi_file_mimetype()
  * mapi_file_dimensions()
  * mapi_file_metadata()

  // file manipulation
  * mapi_file_check_location()
  * mapi_file_copy()
  * mapi_file_move()
  * mapi_file_delete()
  * mapi_file_transfer()
  
  // folder manipulation
  * mapi_directory_public()
  * mapi_directory_private()
  * mapi_directory_temp()
  * mapi_directory_check_location()
  * mapi_directory_check()

  * mapi_directory_create()
  * mapi_directory_move()
  * mapi_directory_delete()
  
  The functions for extensions:
  * mapi_extension_list()
  * mapi_extension_type()
  * mapi_extension_mime()
  * mapi_extension_from_mime()  ; NEEDS TESTING

  The functions for types:
  * mapi_type_list()
  * mapi_type_extensions()
  
  The functions for presenters:
  * mapi_presenter_list()
  * mapi_presenter_default()
  * mapi_presenter_by_ext()
  * mapi_presenter_generic()
  * mapi_presenter_playlist()
  * mapi_presenter_path()
  * mapi_presenter_files()
  
  The functions for display of media:
  * mapi_display()       ; NEEDS FULL TESTING
  * mapi_render_object() ; NEEDS FULL TESTING
  
  The functions for usage for external programs:
  - mapi_program_exists()
  - mapi_program_execute()
  
  Functions when media handling is installed:
  * mapi_installed()
  
  * mapi_item_load()
  * mapi_item_insert()
  * mapi_item_create()
  * mapi_item_delete()
  * mapi_item_rename()
  * mapi_item_move()
  * mapi_item_exists()
  * mapi_item_folder()
  * mapi_item_find()
  
  * mapi_metadata_load()
  * mapi_metadata_save()
  * mapi_metadata_used()

  * mapi_folder_load()
  * mapi_folder_move()
  * mapi_folder_rename()
  * mapi_folder_create()
  * mapi_folder_delete()
  * mapi_folder_subfolders()
  * mapi_folder_items()
  * mapi_folder_path()
  
  Functions for persistant media related sessions
  * mapi_persist_get()
  * mapi_persist_set()
  
*/
