namespace RedBookPlayer.Models
{
///
/// Determine how to handle data tracks
///
public enum DataPlayback
{
///
/// Skip playing all data tracks
///
Skip = 0,
///
/// Play silence for all data tracks
///
Blank = 1,
///
/// Play the data from all data tracks
///
Play = 2,
}
///
/// Determine how to handle multiple discs
///
/// Used with both repeat and shuffle
public enum DiscHandling
{
///
/// Only deal with tracks on the current disc
///
SingleDisc = 0,
///
/// Deal with tracks on all loaded discs
///
MultiDisc = 1,
}
///
/// Current player state
///
public enum PlayerState
{
///
/// No disc is loaded
///
NoDisc,
///
/// Disc is loaded, playback is stopped
///
Stopped,
///
/// Disc is loaded, playback is paused
///
Paused,
///
/// Disc is loaded, playback enabled
///
Playing,
}
///
/// Playback repeat mode
///
public enum RepeatMode
{
///
/// No repeat
///
None,
///
/// Repeat a single track
///
Single,
///
/// Repeat all tracks
///
All,
}
///
/// Determine how to scroll
///
public enum ScrollCommand
{
///
/// No scrolling
///
NoScroll = 0,
///
/// Scroll 6 pixels in the positive direction (right/down)
///
Positive = 1,
///
/// Scroll 6 pixels in the negative direction (left/up)
///
Negative = 2,
}
///
/// Determine how to handle different sessions
///
public enum SessionHandling
{
///
/// Allow playing tracks from all sessions
///
AllSessions = 0,
///
/// Only play tracks from the first session
///
FirstSessionOnly = 1,
}
///
/// Known set of subchannel instructions
///
///
public enum SubchannelInstruction : byte
{
///
/// Set the screen to a particular color.
///
MemoryPreset = 1,
///
/// Set the border of the screen to a particular color.
///
BorderPreset = 2,
///
/// Load a 12 x 6, 2 color tile and display it normally.
///
TileBlockNormal = 6,
///
/// Scroll the image, filling in the new area with a color.
///
ScrollPreset = 20,
///
/// Scroll the image, rotating the bits back around.
///
ScrollCopy = 24,
///
/// Define a specific color as being transparent.
///
DefineTransparentColor = 28,
///
/// Load in the lower 8 entries of the color table.
///
LoadColorTableLower = 30,
///
/// Load in the upper 8 entries of the color table.
///
LoadColorTableUpper = 31,
///
/// Load a 12 x 6, 2 color tile and display it using the XOR method.
///
TileBlockXOR = 38,
}
}