BMediaFiles

Derived from: none

Declared in: be/media/MediaFiles.h

Library: libmedia.so

Allocation: Constructor only

[method summary]

One feature provided by the Media Kit is the ability to assign media files (sounds and graphics files, for example) to named elements, which can then be used to locate user-configured sound and graphics options.

That's the technical way of saying that the Media Kit provides the ability to assign sounds and bitmap graphics to events and system attributes, so you can configure the appearance and behavior of your BeOS computer's user interface.


Identifying an Entry

Each entry in the media files registry consists of three elements: a type, an item name, and an entry_ref. The type is the type of media data the entry represents. For example, this could be "sound" or "bitmap." The item name is the actual name of the entry in the registry, such as "Startup" or "desktop image." The entry_ref identifies the file that's been assigned to that particular entry.

An application can instantiate a BMediaFiles object and then use the GetRefFor() function to find out what file is assigned to a particular registry entry. For instance, if your application needs to access the desktop image file, you can get this information as follows:

      entry_ref ref;
   
      if (GetRefFor("bitmap", "desktop image", &ref) == B_OK) {
         /* have your way with the desktop image file */
      }

The user uses the Sounds preference application to assign sound files to events, such as the system beep and the startup sound. These are named "Beep" and "Startup" respectively. The beep() function will always play whatever sound is assigned to the Beep event.


Constructor and Destructor


BMediaFiles()

      BMediaFiles(void) 

Constructor.


~BMediaFiles()

      virtual ~BMediaFiles(void) 

Destructor.


Member Functions


GetNextRef()

      virtual status_t GetNextRef(char *outType,
         entry_ref *outRef = NULL)

Returns the next media type in outType. These types include things like "sound" and "bitmap."

RETURN CODES

B_OK. No error.

B_BAD_INDEX. No more entry_refs to get.

B_BAD_VALUE. outType is NULL.


GetNextType()

      virtual status_t GetNextType(char *outType)

Returns the next media type in outType. These types include things like "sound" and "bitmap."

RETURN CODES

B_OK. No error.

B_BAD_INDEX. No more types to get.


GetRefFor(), SetRefFor(), RemoveRefFor()

      virtual status_t GetRefFor(const char *type,
         const char *item,
         entry_ref *outRef )
      virtual status_t SetRefFor(const char *type,
         const char *item,
         entry_ref &outRef )
      virtual status_t RemoveRefFor(const char *type,
         const char *item,
         entry_ref &outRef )

GetRefFor() returns the entry_ref for the media file that's been assigned to the specified type and item name pair. For example, if you wanted to retrieve the sound file that's been assigned as the system startup sound, you might specify type as "sound" and item as "startup sound."

SetRefFor() sets, by entry_ref, the file to be used for the specified type/item pairing.

RemoveRefFor() removes the specified entry_ref for the given type/item pairing.

RETURN CODES

B_OK. No error.

B_ENTRY_NOT_FOUND. (GetRefFor() only) the specified type/item pair isn't assigned.


RemoveRefFor() see GetRefFor()


RewindRefs()

      virtual status_t RewindRefs(const char *type)

Rewinds the entry_ref list for the specified media type, so you can start scanning from the beginning of the list.

RETURN CODES

B_OK. No error.

B_BAD_VALUE. type is NULL.

Other errors. Unable to rewind; the Media Server may not be responding.


RewindTypes()

      virtual status_t RewindTypes(void)

Rewinds to the beginning of the media type list. If you've been using a BMediaFiles object and want to begin scanning again from the beginning of the media type list, you should call this function.

RETURN CODES

B_OK. No error.

Other errors. Unable to rewind; the Media Server may not be responding.


SetRefFor() see GetRefFor()






The Be Book, in lovely HTML, for BeOS Release 4.

Copyright © 1998 Be, Inc. All rights reserved.

Last modified November 3, 1998.