00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include "nsISupports.idl"
00028
00029 interface nsIArray;
00030 interface nsIURI;
00031
00032 interface sbIMediacore;
00033 interface sbIMediacoreSequence;
00034 interface sbIMediacoreSequenceGenerator;
00035 interface sbIMediaItem;
00036 interface sbIMediaListView;
00037
00038 [scriptable, uuid(5dd7abe3-e872-4f69-8d9d-125806dbd580)]
00039 interface sbIMediacoreSequencer : nsISupports
00040 {
00041 const unsigned long MODE_FORWARD = 0;
00042 const unsigned long MODE_REVERSE = 1;
00043 const unsigned long MODE_SHUFFLE = 1 << 1;
00044
00045 const unsigned long MODE_CUSTOM = 1 << 16;
00046
00047 attribute unsigned long mode;
00048
00049 const unsigned long MODE_REPEAT_NONE = 0;
00050 const unsigned long MODE_REPEAT_ONE = 1;
00051 const unsigned long MODE_REPEAT_ALL = 1 << 1;
00052
00053 attribute unsigned long repeatMode;
00054
00058 attribute sbIMediaListView view;
00059
00065 readonly attribute unsigned long viewPosition;
00066
00073 readonly attribute sbIMediaItem currentItem;
00074
00081 readonly attribute sbIMediaItem nextItem;
00082
00086 readonly attribute nsIArray currentSequence;
00087
00093 attribute unsigned long sequencePosition;
00094
00105 void playView(in sbIMediaListView aView,
00106 [optional] in long long aItemIndex);
00107
00118 const long AUTO_PICK_INDEX = -1;
00119
00123 void playURL(in nsIURI aURI);
00124
00128 void play();
00129
00133 void stop();
00134
00138 void next();
00139
00143 void previous();
00144
00149 void requestHandleNextItem(in sbIMediacore aMediacore);
00150
00157 void abort();
00158
00159
00160 attribute sbIMediacoreSequenceGenerator customGenerator;
00161 };