Last change
on this file since 670 was 211, checked in by Nicholas Riley, 19 years ago |
setup.py: use HotKey module (shared with LocationDo) instead of
_StreamVision module
HotKeymodule.c: the aforementioned module
StreamVision.py: use HotKey module instead of _StreamVision module.
Fix StreamVision.displayTrackInfo to not crash when iTunes jealously
hides the names of iTMS tracks from us. Switch track rating keys to
shift-F10/F11 to avoid conflicting with my preferred Expose/Dashboard
key bindings on my iBook.
|
File size:
1.1 KB
|
Rev | Line | |
---|
[188] | 1 | #include "Python.h"
|
---|
| 2 | #include "pymactoolbox.h"
|
---|
| 3 |
|
---|
| 4 | #include <Carbon/Carbon.h>
|
---|
| 5 |
|
---|
| 6 | /* from _CarbonEvtmodule.c */
|
---|
| 7 | extern PyTypeObject EventHotKeyRef_Type;
|
---|
| 8 | #define EventHotKeyRef_Check(x) ((x)->ob_type == &EventHotKeyRef_Type || PyObject_TypeCheck((x), &EventHotKeyRef_Type))
|
---|
| 9 | typedef struct EventHotKeyRefObject {
|
---|
| 10 | PyObject_HEAD
|
---|
| 11 | EventHotKeyRef ob_itself;
|
---|
| 12 | } EventHotKeyRefObject;
|
---|
| 13 |
|
---|
| 14 | static PyObject
|
---|
[211] | 15 | *HotKey_HotKeyAddress(PyObject *self, PyObject *args) {
|
---|
[188] | 16 | PyObject *v;
|
---|
| 17 | if (!PyArg_ParseTuple(args, "O", &v))
|
---|
| 18 | return NULL;
|
---|
| 19 | if (!EventHotKeyRef_Check(v)) {
|
---|
| 20 | PyErr_SetString(PyExc_TypeError, "_CarbonEvt.EventHotKeyRef required");
|
---|
| 21 | return NULL;
|
---|
| 22 | }
|
---|
| 23 | return PyInt_FromLong((int)((EventHotKeyRefObject *)v)->ob_itself);
|
---|
| 24 | }
|
---|
| 25 |
|
---|
[211] | 26 | static PyMethodDef HotKeymodule_methods[] = {
|
---|
| 27 | {"HotKeyAddress", HotKey_HotKeyAddress, METH_VARARGS,
|
---|
[188] | 28 | "HotKeyAddress(_CarbonEvt.EventHotKeyRef) -> integer\n\n"
|
---|
| 29 | "Return the address of the underlying EventHotKeyRef (passed as data1 in hot key NSEvents)."},
|
---|
| 30 | {NULL, NULL, 0, NULL}
|
---|
| 31 | };
|
---|
| 32 |
|
---|
| 33 | PyMODINIT_FUNC
|
---|
[211] | 34 | initHotKey(void) {
|
---|
| 35 | (void)Py_InitModule("HotKey", HotKeymodule_methods);
|
---|
[188] | 36 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.