first draft of a Dummy-Player service
This commit is contained in:
parent
198d6bde73
commit
29b9887faa
5 changed files with 463 additions and 111 deletions
|
|
@ -257,7 +257,7 @@ def configurePlatform(env):
|
|||
if not conf.CheckPkgConfig('glibmm-2.4', '2.16'):
|
||||
problems.append('Unable to configure Lib glib--, exiting.')
|
||||
|
||||
if not conf.CheckPkgConfig('gthread-2.0', '2.12'):
|
||||
if not conf.CheckPkgConfig('gthread-2.0', '2.12.4'):
|
||||
problems.append('Need gthread support lib for glib-- based thread handling.')
|
||||
|
||||
if not conf.CheckPkgConfig('cairomm-1.0', 0.6):
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@
|
|||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2"
|
||||
inkscape:cx="466.20838"
|
||||
inkscape:cy="425.69964"
|
||||
inkscape:cx="346.20838"
|
||||
inkscape:cy="304.01881"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:window-width="1668"
|
||||
|
|
@ -145,18 +145,18 @@
|
|||
id="rect4200"
|
||||
width="130.423"
|
||||
height="70.324265"
|
||||
x="439.99997"
|
||||
y="229.87326" />
|
||||
x="340"
|
||||
y="260" />
|
||||
<rect
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect4206"
|
||||
width="50"
|
||||
height="20"
|
||||
x="300"
|
||||
y="170" />
|
||||
width="110.59406"
|
||||
height="30.243902"
|
||||
x="249.40594"
|
||||
y="169.7561" />
|
||||
<rect
|
||||
y="290"
|
||||
x="240"
|
||||
y="399.51221"
|
||||
x="230"
|
||||
height="40.487804"
|
||||
width="90.396042"
|
||||
id="rect4208"
|
||||
|
|
@ -164,42 +164,30 @@
|
|||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="304.5"
|
||||
y="181.5"
|
||||
x="260"
|
||||
y="180"
|
||||
id="text4216"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4218"
|
||||
x="304.5"
|
||||
y="181.5"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">Displayer</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text4220"
|
||||
y="298.5"
|
||||
x="244.5"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
y="298.5"
|
||||
x="244.5"
|
||||
id="tspan4222"
|
||||
sodipodi:role="line">OutSink</tspan></text>
|
||||
x="260"
|
||||
y="180"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">play thread</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="260"
|
||||
y="310"
|
||||
x="450"
|
||||
y="190"
|
||||
id="text4224"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4226"
|
||||
x="260"
|
||||
y="310"
|
||||
x="450"
|
||||
y="190"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">put(Frame&)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans;text-indent:0;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="193.62445"
|
||||
y="143.5"
|
||||
id="text4235"
|
||||
|
|
@ -207,7 +195,7 @@
|
|||
sodipodi:role="line"
|
||||
id="tspan2265"
|
||||
x="193.62445"
|
||||
y="143.5">Display(facade)</tspan></text>
|
||||
y="143.5">PlaybackController</tspan></text>
|
||||
<path
|
||||
style="fill:#55cbb9;fill-opacity:1;fill-rule:evenodd;stroke:#55cbb9;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#ArrowHIV1end);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 770,160 L 860,180 L 860,180"
|
||||
|
|
@ -219,13 +207,6 @@
|
|||
width="130.09683"
|
||||
id="rect2226"
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6c6c6c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
y="300"
|
||||
x="109.90098"
|
||||
height="20"
|
||||
width="70.181519"
|
||||
id="rect2234"
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2236"
|
||||
|
|
@ -237,63 +218,63 @@
|
|||
id="tspan2263"
|
||||
x="70"
|
||||
y="290"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">createProcess(...)</tspan></text>
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">start(...)</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2244"
|
||||
y="312.5"
|
||||
x="114.5"
|
||||
y="410"
|
||||
x="240"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2259"
|
||||
x="114.5"
|
||||
y="312.5"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">OutputProcess</tspan></text>
|
||||
x="240"
|
||||
y="410"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
id="tspan2218">PlayProcess</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2248"
|
||||
y="263.5"
|
||||
x="63.5"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2252"
|
||||
x="63.5"
|
||||
y="263.5">Player(facade)</tspan></text>
|
||||
y="263.5">Player (interface)</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2267"
|
||||
y="160"
|
||||
x="240"
|
||||
x="200"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
y="160"
|
||||
x="240"
|
||||
x="200"
|
||||
id="tspan2269"
|
||||
sodipodi:role="line">openDisplayer(...)</tspan></text>
|
||||
sodipodi:role="line">start_playback_thread()</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#TriangleInL)"
|
||||
d="M 290,280 L 290,230 L 320,190"
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#TriangleInL);stroke-opacity:1"
|
||||
d="M 630,300 L 630,250 L 660,210"
|
||||
id="path2271"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||
d="M 180,310 L 240,310 L 240,310"
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
|
||||
d="M 520,380 L 580,380 L 580,380"
|
||||
id="path3449" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="206"
|
||||
y="306"
|
||||
x="220"
|
||||
y="290"
|
||||
id="text3453"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3455"
|
||||
x="206"
|
||||
y="306"
|
||||
style="font-size:7px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1;font-family:Bitstream Vera Sans">uses</tspan></text>
|
||||
x="220"
|
||||
y="290"
|
||||
style="font-size:7px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1;font-family:Bitstream Vera Sans">yields</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3457"
|
||||
|
|
@ -315,10 +296,10 @@
|
|||
sodipodi:role="line"
|
||||
id="tspan3463"
|
||||
x="60"
|
||||
y="370">Backend (or Proc?)</tspan></text>
|
||||
y="370">Proc (or Backend?)</tspan></text>
|
||||
<rect
|
||||
y="270"
|
||||
x="489.80197"
|
||||
y="300.12677"
|
||||
x="389.802"
|
||||
height="20"
|
||||
width="70.198021"
|
||||
id="rect3465"
|
||||
|
|
@ -326,51 +307,32 @@
|
|||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3467"
|
||||
y="282.5"
|
||||
x="491.5"
|
||||
y="312.62677"
|
||||
x="391.50003"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
y="282.5"
|
||||
x="491.5"
|
||||
y="312.62677"
|
||||
x="391.50003"
|
||||
id="tspan3469"
|
||||
sodipodi:role="line">Displayer (Proxy)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="445"
|
||||
y="243"
|
||||
x="345.00003"
|
||||
y="273.12677"
|
||||
id="text3471"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3473"
|
||||
x="445"
|
||||
y="243"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">DisplayFacade (Proxy)</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect3475"
|
||||
width="170.70584"
|
||||
height="20"
|
||||
x="400"
|
||||
y="90" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="405"
|
||||
y="102"
|
||||
id="text3477"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3479"
|
||||
x="405"
|
||||
y="102"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">C Language Interface of the GUI-Plugin</tspan></text>
|
||||
x="345.00003"
|
||||
y="273.12677"
|
||||
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">PlayerFacade (Proxy)</tspan></text>
|
||||
<path
|
||||
id="path3481"
|
||||
d="M 180,310 L 217,310 L 240,310 L 240,310"
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
d="M 110,290 L 210,290 L 270,390"
|
||||
id="path3481"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1"
|
||||
|
|
@ -379,34 +341,128 @@
|
|||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3485"
|
||||
y="190"
|
||||
x="550"
|
||||
y="229.80247"
|
||||
x="460.00003"
|
||||
style="font-size:7px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:7px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||
y="190"
|
||||
x="550"
|
||||
y="229.80247"
|
||||
x="460.00003"
|
||||
id="tspan3487"
|
||||
sodipodi:role="line">actually</tspan><tspan
|
||||
style="font-size:7px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||
y="197"
|
||||
x="550"
|
||||
y="236.80247"
|
||||
x="460.00003"
|
||||
sodipodi:role="line"
|
||||
id="tspan3489">talks to...</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path3491"
|
||||
d="M 340,200 L 340,260 L 360,280 L 490,280"
|
||||
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#TriangleInL);stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:#008080;fill-opacity:1;fill-rule:evenodd;stroke:#008080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="580"
|
||||
y="250"
|
||||
x="480.00003"
|
||||
y="280.12677"
|
||||
id="text3493"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3495"
|
||||
x="580"
|
||||
y="250">libCommon</tspan></text>
|
||||
x="480.00003"
|
||||
y="280.12677">libCommon</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#6c6c6c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect2222"
|
||||
width="130.09683"
|
||||
height="110.27864"
|
||||
x="60"
|
||||
y="400" />
|
||||
<rect
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect2224"
|
||||
width="70.181519"
|
||||
height="20"
|
||||
x="109.90098"
|
||||
y="450" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="114.5"
|
||||
y="460"
|
||||
id="text2230"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
id="tspan2232"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
y="460"
|
||||
x="114.5"
|
||||
sodipodi:role="line">PlayContext</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="63.5"
|
||||
y="413.5"
|
||||
id="text2234"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
y="413.5"
|
||||
x="63.5"
|
||||
id="tspan2236"
|
||||
sodipodi:role="line">PlayerService</tspan></text>
|
||||
<rect
|
||||
y="430"
|
||||
x="109.81848"
|
||||
height="20"
|
||||
width="70.181519"
|
||||
id="rect2239"
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
y="470"
|
||||
x="109.81848"
|
||||
height="20"
|
||||
width="70.181519"
|
||||
id="rect2241"
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect2243"
|
||||
width="70.181519"
|
||||
height="20"
|
||||
x="109.81848"
|
||||
y="490" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2245"
|
||||
y="440"
|
||||
x="114.5"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
sodipodi:role="line"
|
||||
x="114.5"
|
||||
y="440"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
id="tspan2247">PlayContext</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
x="114.5"
|
||||
y="480"
|
||||
id="text2249"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
id="tspan2251"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
y="480"
|
||||
x="114.5"
|
||||
sodipodi:role="line">PlayContext</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2253"
|
||||
y="500"
|
||||
x="114.5"
|
||||
style="font-size:14px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
sodipodi:role="line"
|
||||
x="114.5"
|
||||
y="500"
|
||||
style="font-size:8px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"
|
||||
id="tspan2255">PlayContext</tspan></text>
|
||||
<path
|
||||
id="path2257"
|
||||
d="M 240,420 L 170,440"
|
||||
style="fill:#55cbb9;fill-opacity:1;fill-rule:evenodd;stroke:#55cbb9;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#ArrowHIV1end);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 30 KiB |
119
src/include/dummy-player-facade.h
Normal file
119
src/include/dummy-player-facade.h
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
DUMMY-PLAYER-FACADE.hpp - access point to a dummy test player
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2009, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef PROC_INTERFACE_DUMMYPLAYER_H
|
||||
#define PROC_INTERFACE_DUMMYPLAYER_H
|
||||
|
||||
|
||||
|
||||
struct lumiera_playprocess_struct { };
|
||||
typedef struct lumiera_playprocess_struct lumiera_playprocess;
|
||||
typedef lumiera_playprocess* LumieraPlayProcess;
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus /* ============== C++ Interface ================= */
|
||||
|
||||
#include "common/subsys.hpp"
|
||||
#include "include/interfaceproxy.hpp"
|
||||
|
||||
|
||||
|
||||
|
||||
namespace proc {
|
||||
|
||||
class PlayProcess;
|
||||
|
||||
|
||||
/******************************************************************
|
||||
* Interface Proc-Layer (or maybe the backend?):
|
||||
* Global access point for starting a dummy playback, generating
|
||||
* some test image data for the GUI to display in a viewer window.
|
||||
*
|
||||
* This is a mockup service we created 1/2009 to collect some
|
||||
* experiences regarding integration of the application layers.
|
||||
* Lumiera is not yet able actually to deliver rendered video data.
|
||||
*
|
||||
*/
|
||||
class DummyPlayer
|
||||
{
|
||||
public:
|
||||
/** provide a descriptor for lumiera::AppState,
|
||||
* wired accordingly to allow main to deal with
|
||||
* the dummy player as independent subsystem. */
|
||||
static lumiera::Subsys& getDescriptor();
|
||||
|
||||
/** get an implementation instance of this service */
|
||||
static lumiera::facade::Accessor<DummyPlayer> facade;
|
||||
|
||||
|
||||
//////////////////TODO: define some dummy negotiation about size and framerate....
|
||||
|
||||
virtual PlayProcess& start() =0;
|
||||
|
||||
virtual ~DummyPlayer();
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Continuous playback process, which has been started with a specific
|
||||
* output size, format and framerate. It is a handle to a calculation process,
|
||||
* which is about to produce a stream of frames to be retrieved by calling
|
||||
* the #getFrame function on this handle.
|
||||
*
|
||||
* @todo solve the lifecycle and ownership!
|
||||
*/
|
||||
class PlayProcess
|
||||
: public LumieraPlayProcess
|
||||
{
|
||||
public:
|
||||
virtual void pause(bool) =0;
|
||||
virtual void* const getFrame() =0;
|
||||
|
||||
virtual ~PlayProcess();
|
||||
};
|
||||
|
||||
|
||||
} // namespace proc
|
||||
|
||||
|
||||
|
||||
extern "C" {
|
||||
#endif /* =========================== CL Interface ===================== */
|
||||
|
||||
|
||||
#include "common/interface.h"
|
||||
|
||||
LUMIERA_INTERFACE_DECLARE (lumieraorg_DummyPlayer, 0
|
||||
, LUMIERA_INTERFACE_SLOT (LumieraPlayProcess, startPlay,(void) )
|
||||
, LUMIERA_INTERFACE_SLOT (void, pausePlay,(LumieraPlayProcess, bool))
|
||||
, LUMIERA_INTERFACE_SLOT (void, terminate,(LumieraPlayProcess) )
|
||||
, LUMIERA_INTERFACE_SLOT (void *, getFrame, (LumieraPlayProcess) )
|
||||
);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
85
src/proc/dummy-player-service.cpp
Normal file
85
src/proc/dummy-player-service.cpp
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
DummyPlayerService - access point and service implementing a dummy test player
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2009, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
* *****************************************************/
|
||||
|
||||
|
||||
#include "proc/dummy-player-service.hpp"
|
||||
#include "lib/singleton.hpp"
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace proc {
|
||||
|
||||
using std::string;
|
||||
using lumiera::Subsys;
|
||||
|
||||
class DummyPlayerSubsysDescriptor
|
||||
: public Subsys
|
||||
{
|
||||
operator string () const { return "Engine"; }
|
||||
|
||||
bool
|
||||
shouldStart (lumiera::Option&)
|
||||
{
|
||||
TODO ("determine, if renderengine should be started");
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
start (lumiera::Option&, Subsys::SigTerm termination)
|
||||
{
|
||||
UNIMPLEMENTED ("pull up renderengine and register shutdown hook");
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
triggerShutdown () throw()
|
||||
{
|
||||
UNIMPLEMENTED ("initiate halting the engine");
|
||||
}
|
||||
|
||||
bool
|
||||
checkRunningState () throw()
|
||||
{
|
||||
//Lock guard (*this);
|
||||
TODO ("implement detecting running state");
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
namespace {
|
||||
lumiera::Singleton<DummyPlayerSubsysDescriptor> theDescriptor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/** @internal intended for use by main(). */
|
||||
Subsys&
|
||||
DummyPlayer::getDescriptor()
|
||||
{
|
||||
return theDescriptor();
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace proc
|
||||
92
src/proc/dummy-player-service.hpp
Normal file
92
src/proc/dummy-player-service.hpp
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
DUMMY-PLAYER-SERVICE.hpp - service implementing a dummy test player
|
||||
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2009, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
/** @file notification-service.hpp
|
||||
** A public service provided by the GUI, implementing the gui::GuiNotification facade interface.
|
||||
** The purpose of this service is to push state update and notification of events from the lower
|
||||
** layers into the Lumiera GUI. Typically, this happens asynchronously and triggered by events
|
||||
** within the lower layers.
|
||||
**
|
||||
** This service is the implementation of a layer separation facade interface. Clients should use
|
||||
** gui::GuiNotification#facade to access this service. This header defines the interface used
|
||||
** to \em provide this service, not to access it.
|
||||
**
|
||||
** @see gui::GuiFacade
|
||||
** @see guifacade.cpp starting this service
|
||||
*/
|
||||
|
||||
|
||||
#ifndef PROC_DUMMYPLAYER_SERVICE_H
|
||||
#define PROC_DUMMYPLAYER_SERVICE_H
|
||||
|
||||
|
||||
#include "include/dummy-player-facade.h"
|
||||
#include "common/instancehandle.hpp"
|
||||
#include "lib/singleton-ref.hpp"
|
||||
|
||||
|
||||
|
||||
namespace proc {
|
||||
|
||||
|
||||
|
||||
/******************************************************
|
||||
* Actual implementation of the GuiNotification service
|
||||
* within the Lumiera GTK GUI. Creating an instance of
|
||||
* this class automatically registers the interface
|
||||
* with the Lumiera Interface/Plugin system and creates
|
||||
* a forwarding proxy within the application core to
|
||||
* route calls through this interface.
|
||||
*
|
||||
* @todo the ctor of this class should take references
|
||||
* to any internal service providers within the
|
||||
* GUI which are needed to implement the service.
|
||||
*/
|
||||
class DummyPlayerService
|
||||
: public DummyPlayer
|
||||
{
|
||||
|
||||
/* === Implementation of the Facade Interface === */
|
||||
|
||||
void displayInfo (string const& text);
|
||||
void triggerGuiShutdown (string const& cause);
|
||||
|
||||
|
||||
/* === Interface Lifecycle === */
|
||||
|
||||
typedef lumiera::InstanceHandle< LUMIERA_INTERFACE_INAME(lumieraorg_DummyPlayer, 0)
|
||||
, DummyPlayer
|
||||
> ServiceInstanceHandle;
|
||||
|
||||
lib::SingletonRef<DummyPlayer> implInstance_;
|
||||
ServiceInstanceHandle serviceInstance_;
|
||||
|
||||
public:
|
||||
DummyPlayerService();
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace proc
|
||||
#endif
|
||||
Loading…
Reference in a new issue