terminology/data/themes/default/media.edc

378 lines
11 KiB
Plaintext

//////////////////////////////////////////////////////////////////////////////
//// the multimedia controls
group { name: "terminology/mediabusy";
images {
image: "media_busy_knob.png" COMP;
image: "media_busy_spinner.png" COMP;
image: "media_busy_progress.png" COMP;
}
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_FLOAT) && (id == 1)) {
new Float:val;
val = getfarg(2);
// val 0.0 -. 1.0 percentage
custom_state(PART:"progress", "default", 0.0);
set_state_val(PART:"progress", STATE_REL2, val, 1.0);
set_state(PART:"progress", "custom", 0.0);
}
}
}
parts {
part { name: "progress_area"; type: SPACER;
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel2.to_x: "knob";
rel2.relative: 0.0 1.0;
min: 10 40;
max: 99999 40;
align: 0.0 1.0;
}
}
part { name: "progress";
mouse_events: 0;
clip_to: "fade";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "progress_area";
rel2.to: "progress_area";
rel2.relative: 0.0 1.0;
color: 255 255 255 255;
color_class: "GLOW";
image.normal: "media_busy_progress.png";
image.border: 5 5 0 0;
min: 10 40;
align: 0.0 1.0;
}
}
part { name: "fade"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
color_class: "HIGHLIGHT";
}
}
part { name: "knob";
clip_to: "fade";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "media_busy_knob.png";
min: 40 40;
max: 40 40;
align: 1.0 1.0;
}
}
part { name: "knob_spinner";
clip_to: "fade";
mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
color: 51 153 255 255;
rel1.to: "knob";
rel2.to: "knob";
image.normal: "media_busy_spinner.png";
map {
on: 1;
smooth: 1;
rotation.center: "knob";
}
}
description { state: "spin" 0.0;
inherit: "default" 0.0;
visible: 1;
map.rotation.z: 360;
}
}
}
programs {
program {
signal: "busy"; source: "terminology";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.5;
target: "fade";
}
program { name: "spin1";
signal: "busy"; source: "terminology";
action: STATE_SET "spin" 0.0;
transition: LINEAR 0.5;
target: "knob_spinner";
after: "spin2";
}
program { name: "spin2";
action: STATE_SET "default" 0.0;
target: "knob_spinner";
after: "spin1";
}
// program { name: "downloading";
// signal: "busy";
// source: "terminology";
// action: STATE_SET "default" 0.0;
// }
program {
signal: "done"; source: "terminology";
action: STATE_SET "default" 0.0;
transition: DECELERATE 1.5;
target: "fade";
}
}
}
///////////////////////////////////////////////////////////////////////////
//// the multimedia controls
group { name: "terminology/mediactrl";
images {
image: "media_bg.png" COMP;
image: "media_play.png" COMP;
image: "media_stop.png" COMP;
image: "media_pause.png" COMP;
image: "media_line.png" COMP;
image: "media_knob_vol.png" COMP;
image: "media_knob_pos.png" COMP;
}
parts {
part { name: "media_clip"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "media_bg";
rel2.to: "media_bg";
}
}
part { name: "media_bg";
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_bg.png";
image.border: 11 11 11 11;
min: 24 24;
max: 24 24;
align: 1.0 0.0;
}
description { state: "expanded" 0.0;
inherit: "default" 0.0;
min: 216 24;
max: 216 24;
}
}
part { name: "play";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_pause.png";
max: 24 24;
align: 1.0 0.0;
}
description { state: "paused" 0.0;
inherit: "default" 0.0;
image.normal: "media_play.png";
}
}
part { name: "stop";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_stop.png";
max: 24 24;
rel1.to: "play";
rel2.to: "play";
rel1.offset: -16 0;
rel2.offset: -16 0;
}
}
part { name: "posline";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_line.png";
image.border: 15 15 0 0;
min: 90 14;
max: 90 14;
rel1.to: "stop";
rel2.to: "stop";
rel1.offset: -25 0;
rel2.offset: -90 0;
}
}
part { name: "terminology.posdrag";
mouse_events: 0;
repeat_events: 1;
clip_to: "media_clip";
dragable {
confine: "posline";
x: 1 1 0;
y: 0 0 0;
}
description { state: "default" 0.0;
image.normal: "media_knob_pos.png";
min: 14 14;
max: 14 14;
}
description { state: "muted" 0.0;
visible: 0;
}
}
part { name: "volline";
mouse_events: 1;
repeat_events: 1;
clip_to: "media_clip";
description { state: "default" 0.0;
image.normal: "media_line.png";
image.border: 15 15 0 0;
min: 60 14;
max: 60 14;
rel1 {
to: "posline";
offset: -25 0;
}
rel2 {
to: "posline";
relative: 0.0 1.0;
offset: -60 0;
}
}
}
part { name: "terminology.voldrag"; type: IMAGE;
mouse_events: 0;
repeat_events: 1;
clip_to: "media_clip";
dragable {
confine: "volline";
x: 1 1 0;
y: 0 0 0;
}
description { state: "default" 0.0;
image.normal: "media_knob_vol.png";
min: 14 14;
max: 14 14;
}
description { state: "muted" 0.0;
visible: 0;
}
}
}
programs {
program {
signal: "mouse,in"; source: "media_bg";
action: STATE_SET "expanded" 0.0;
transition: SINUSOIDAL 0.4 CURRENT;
target: "media_bg";
}
program {
signal: "mouse,out"; source: "media_bg";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.4 CURRENT;
target: "media_bg";
}
program {
signal: "mouse,up,*"; source: "play";
filter: "play" "default";
action: SIGNAL_EMIT "pause" "";
}
program {
signal: "mouse,up,1"; source: "play";
filter: "play" "paused";
action: SIGNAL_EMIT "play" "";
}
program {
signal: "mouse,up,1"; source: "stop";
action: SIGNAL_EMIT "stop" "";
}
program {
signal: "pause,set"; source: "terminology";
action: STATE_SET "paused" 0.0;
target: "play";
}
program {
signal: "play,set"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "play";
}
program {
signal: "mute,set"; source: "terminology";
action: STATE_SET "muted" 0.0;
target: "terminology.voldrag";
}
program {
signal: "mute,unset"; source: "terminology";
action: STATE_SET "default" 0.0;
target: "terminology.voldrag";
}
program {
signal: "mouse,down,1"; source: "posline";
filter: "terminology.posdrag" "default";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
get_geometry(PART:"posline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.posdrag", pos, 0.0);
emit("pos,drag,start", "");
}
}
program {
signal: "mouse,up,1"; source: "posline";
action: SIGNAL_EMIT "pos,drag,stop" "";
}
program {
signal: "mouse,move"; source: "posline";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
if (!get_mouse_buttons()) return;
get_geometry(PART:"posline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.posdrag", pos, 0.0);
emit("pos,drag", "");
}
}
program {
signal: "mouse,down,1"; source: "volline";
filter: "terminology.voldrag" "default";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
get_geometry(PART:"volline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.voldrag", pos, 0.0);
emit("vol,drag", "");
}
}
program {
signal: "mouse,move"; source: "volline";
script {
new x, y, w, h, m_x, m_y;
new Float:pos;
if (!get_mouse_buttons()) return;
get_geometry(PART:"volline", x, y, w, h);
get_mouse(m_x, m_y);
pos = m_x - x;
pos = pos / w;
set_drag(PART:"terminology.voldrag", pos, 0.0);
emit("vol,drag", "");
}
}
}
}