Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

mediactrl.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define KEY_RELEASE   0x00
#define KEY_PRESS   0x01
#define MEDIA_ST_ACTIVE   0x02
#define MEDIA_ST_INACTIVE   0x01
#define MEDIA_CTRL_EVENT_NONE   0x00
#define MEDIA_CTRL_EVENT_KEY   0x01
#define MEDIA_CTRL_EVENT_JOG   0x02
#define MEDIA_CTRL_EVENT_SHUTTLE   0x03
#define MEDIA_CTRL_EVENT_STICK   0x04
#define MEDIA_CTRL_DISCONNECT   0x01
#define MEDIA_CTRL_SHIFT   0x01
#define MEDIA_CTRL_PLAY   0x10
#define MEDIA_CTRL_PLAY_FWD   0x10
#define MEDIA_CTRL_REVERSE   0x11
#define MEDIA_CTRL_PLAY_REV   0x11
#define MEDIA_CTRL_STOP   0x12
#define MEDIA_CTRL_PAUSE   0x13
#define MEDIA_CTRL_NEXT   0x14
#define MEDIA_CTRL_PREV   0x15
#define MEDIA_CTRL_RECORD   0x16
#define MEDIA_CTRL_FAST_FORWARD   0x17
#define MEDIA_CTRL_REWIND   0x18
#define MEDIA_CTRL_STICK_LEFT   0x20
#define MEDIA_CTRL_STICK_RIGHT   0x21
#define MEDIA_CTRL_STICK_UP   0x22
#define MEDIA_CTRL_STICK_DOWN   0x23
#define MEDIA_CTRL_F1   0x100
#define MEDIA_CTRL_F2   0x101
#define MEDIA_CTRL_F3   0x102
#define MEDIA_CTRL_F4   0x103
#define MEDIA_CTRL_F5   0x104
#define MEDIA_CTRL_F6   0x105
#define MEDIA_CTRL_F7   0x106
#define MEDIA_CTRL_F8   0x107
#define MEDIA_CTRL_F9   0x108
#define MEDIA_CTRL_F10   0x109
#define MEDIA_CTRL_F11   0x10a
#define MEDIA_CTRL_F12   0x10b
#define MEDIA_CTRL_F13   0x10c
#define MEDIA_CTRL_F14   0x10d
#define MEDIA_CTRL_F15   0x10e
#define MEDIA_CTRL_F16   0x10f
#define MEDIA_CTRL_B1   0x110
#define MEDIA_CTRL_B2   0x111
#define MEDIA_CTRL_B3   0x112
#define MEDIA_CTRL_B4   0x113
#define MEDIA_CTRL_B5   0x114
#define MEDIA_CTRL_B6   0x115
#define MEDIA_CTRL_B7   0x116
#define MEDIA_CTRL_B8   0x117
#define MEDIA_CTRL_B9   0x118
#define MEDIA_CTRL_B10   0x119
#define MEDIA_CTRL_B11   0x11a
#define MEDIA_CTRL_B12   0x11b
#define MEDIA_CTRL_B13   0x11c
#define MEDIA_CTRL_B14   0x11d
#define MEDIA_CTRL_B15   0x11e
#define MEDIA_CTRL_B16   0x11f

Functions

void media_ctrl_open (struct media_ctrl *)
void media_ctrl_close (struct media_ctrl *)
void media_ctrl_read_event (struct media_ctrl *, struct media_ctrl_event *)
media_ctrl_keymedia_ctrl_get_keys (struct media_ctrl *)


Define Documentation

#define KEY_PRESS   0x01
 

Definition at line 25 of file mediactrl.h.

#define KEY_RELEASE   0x00
 

Definition at line 24 of file mediactrl.h.

Referenced by JogShuttle::button().

#define MEDIA_CTRL_B1   0x110
 

Definition at line 78 of file mediactrl.h.

#define MEDIA_CTRL_B10   0x119
 

Definition at line 87 of file mediactrl.h.

#define MEDIA_CTRL_B11   0x11a
 

Definition at line 88 of file mediactrl.h.

#define MEDIA_CTRL_B12   0x11b
 

Definition at line 89 of file mediactrl.h.

#define MEDIA_CTRL_B13   0x11c
 

Definition at line 90 of file mediactrl.h.

#define MEDIA_CTRL_B14   0x11d
 

Definition at line 91 of file mediactrl.h.

#define MEDIA_CTRL_B15   0x11e
 

Definition at line 92 of file mediactrl.h.

#define MEDIA_CTRL_B16   0x11f
 

Definition at line 93 of file mediactrl.h.

#define MEDIA_CTRL_B2   0x111
 

Definition at line 79 of file mediactrl.h.

#define MEDIA_CTRL_B3   0x112
 

Definition at line 80 of file mediactrl.h.

#define MEDIA_CTRL_B4   0x113
 

Definition at line 81 of file mediactrl.h.

#define MEDIA_CTRL_B5   0x114
 

Definition at line 82 of file mediactrl.h.

#define MEDIA_CTRL_B6   0x115
 

Definition at line 83 of file mediactrl.h.

#define MEDIA_CTRL_B7   0x116
 

Definition at line 84 of file mediactrl.h.

#define MEDIA_CTRL_B8   0x117
 

Definition at line 85 of file mediactrl.h.

#define MEDIA_CTRL_B9   0x118
 

Definition at line 86 of file mediactrl.h.

#define MEDIA_CTRL_DISCONNECT   0x01
 

Definition at line 39 of file mediactrl.h.

#define MEDIA_CTRL_EVENT_JOG   0x02
 

Definition at line 34 of file mediactrl.h.

Referenced by JogShuttle::inputCallback(), media_ctrl_read_event(), translate_compliant(), and translate_contour_hid_event().

#define MEDIA_CTRL_EVENT_KEY   0x01
 

Definition at line 33 of file mediactrl.h.

Referenced by JogShuttle::inputCallback(), translate_compliant(), and translate_contour_hid_event().

#define MEDIA_CTRL_EVENT_NONE   0x00
 

Definition at line 32 of file mediactrl.h.

Referenced by JogShuttle::inputCallback(), and media_ctrl_read_event().

#define MEDIA_CTRL_EVENT_SHUTTLE   0x03
 

Definition at line 35 of file mediactrl.h.

Referenced by JogShuttle::inputCallback(), translate_compliant(), and translate_contour_hid_event().

#define MEDIA_CTRL_EVENT_STICK   0x04
 

Definition at line 36 of file mediactrl.h.

#define MEDIA_CTRL_F1   0x100
 

Definition at line 61 of file mediactrl.h.

#define MEDIA_CTRL_F10   0x109
 

Definition at line 70 of file mediactrl.h.

#define MEDIA_CTRL_F11   0x10a
 

Definition at line 71 of file mediactrl.h.

#define MEDIA_CTRL_F12   0x10b
 

Definition at line 72 of file mediactrl.h.

#define MEDIA_CTRL_F13   0x10c
 

Definition at line 73 of file mediactrl.h.

#define MEDIA_CTRL_F14   0x10d
 

Definition at line 74 of file mediactrl.h.

#define MEDIA_CTRL_F15   0x10e
 

Definition at line 75 of file mediactrl.h.

#define MEDIA_CTRL_F16   0x10f
 

Definition at line 76 of file mediactrl.h.

#define MEDIA_CTRL_F2   0x101
 

Definition at line 62 of file mediactrl.h.

#define MEDIA_CTRL_F3   0x102
 

Definition at line 63 of file mediactrl.h.

#define MEDIA_CTRL_F4   0x103
 

Definition at line 64 of file mediactrl.h.

#define MEDIA_CTRL_F5   0x104
 

Definition at line 65 of file mediactrl.h.

#define MEDIA_CTRL_F6   0x105
 

Definition at line 66 of file mediactrl.h.

#define MEDIA_CTRL_F7   0x106
 

Definition at line 67 of file mediactrl.h.

#define MEDIA_CTRL_F8   0x107
 

Definition at line 68 of file mediactrl.h.

#define MEDIA_CTRL_F9   0x108
 

Definition at line 69 of file mediactrl.h.

#define MEDIA_CTRL_FAST_FORWARD   0x17
 

Definition at line 52 of file mediactrl.h.

#define MEDIA_CTRL_NEXT   0x14
 

Definition at line 49 of file mediactrl.h.

#define MEDIA_CTRL_PAUSE   0x13
 

Definition at line 48 of file mediactrl.h.

#define MEDIA_CTRL_PLAY   0x10
 

Definition at line 43 of file mediactrl.h.

#define MEDIA_CTRL_PLAY_FWD   0x10
 

Definition at line 44 of file mediactrl.h.

#define MEDIA_CTRL_PLAY_REV   0x11
 

Definition at line 46 of file mediactrl.h.

#define MEDIA_CTRL_PREV   0x15
 

Definition at line 50 of file mediactrl.h.

#define MEDIA_CTRL_RECORD   0x16
 

Definition at line 51 of file mediactrl.h.

#define MEDIA_CTRL_REVERSE   0x11
 

Definition at line 45 of file mediactrl.h.

#define MEDIA_CTRL_REWIND   0x18
 

Definition at line 53 of file mediactrl.h.

#define MEDIA_CTRL_SHIFT   0x01
 

Definition at line 41 of file mediactrl.h.

#define MEDIA_CTRL_STICK_DOWN   0x23
 

Definition at line 58 of file mediactrl.h.

#define MEDIA_CTRL_STICK_LEFT   0x20
 

Definition at line 55 of file mediactrl.h.

#define MEDIA_CTRL_STICK_RIGHT   0x21
 

Definition at line 56 of file mediactrl.h.

#define MEDIA_CTRL_STICK_UP   0x22
 

Definition at line 57 of file mediactrl.h.

#define MEDIA_CTRL_STOP   0x12
 

Definition at line 47 of file mediactrl.h.

#define MEDIA_ST_ACTIVE   0x02
 

Definition at line 28 of file mediactrl.h.

#define MEDIA_ST_INACTIVE   0x01
 

Definition at line 29 of file mediactrl.h.


Function Documentation

void media_ctrl_close struct media_ctrl  ) 
 

Definition at line 400 of file mediactrl.c.

References media_ctrl::fd.

Referenced by JogShuttle::stop(), and JogShuttle::~JogShuttle().

00401 {
00402     if (mc->fd > 0)
00403         close( mc->fd );
00404     memset( mc, 0, sizeof( struct media_ctrl ) );
00405 }

struct media_ctrl_key* media_ctrl_get_keys struct media_ctrl  ) 
 

void media_ctrl_open struct media_ctrl  ) 
 

Definition at line 408 of file mediactrl.c.

References find_first_device().

Referenced by JogShuttle::start().

00409 {
00410     find_first_device(mc);
00411 }

void media_ctrl_read_event struct media_ctrl ,
struct media_ctrl_event
 

Definition at line 289 of file mediactrl.c.

References MEDIA_CTRL_EVENT_JOG, MEDIA_CTRL_EVENT_NONE, media_ctrl_event::type, and media_ctrl_event::value.

Referenced by JogShuttle::inputCallback().

00290 {
00291     ssize_t n;
00292     struct input_event ev;
00293         
00294     // struct media_ctrl_event me;
00295     
00296     if ( ctrl->fd > 0 ) {
00297         n = read(ctrl->fd, &ev, sizeof(ev));
00298     } else {
00299         return;
00300     }
00301     
00302     if (n != sizeof(ev)) {
00303         //printf("JogShuttle::inputCallback: read: (%d) %s\n", errno, strerror(errno));
00304         close(ctrl->fd);
00305         ctrl->fd = 0;
00306         return;
00307     }
00308     
00309     if ( ctrl->device && ctrl->device->translate)
00310         ctrl->device->translate(ctrl, &ev, me);
00311     else
00312         me->type = 0;
00313     
00314     if ( me->type  == MEDIA_CTRL_EVENT_JOG ) {
00315         struct timeval timev;
00316         gettimeofday(&timev, NULL);
00317         unsigned long now = (unsigned long)timev.tv_usec + (1000000*(unsigned long)timev.tv_sec);
00318         if ( now < ctrl->last_jog_time + 40000 ) {
00319             //printf("*** Fast Jog %02d %05d ***\n", me->value, now - ctrl->last_jog_time);
00320             ctrl->jogrel = me->value;
00321             me->type = MEDIA_CTRL_EVENT_NONE;
00322         } else {
00323             me->value += ctrl->jogrel;
00324             ctrl->jogrel = 0;
00325             ctrl->last_jog_time = now;
00326             // printf("*** Jog %02d ***\n", me->value);
00327         }
00328     }
00329     
00330     return;
00331     
00332 }


Generated on Sun Mar 11 22:12:12 2007 for Kino by  doxygen 1.4.2