summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cameras/uca-mock-camera.c4
-rw-r--r--src/cameras/uca-pco-camera.c4
-rw-r--r--src/cameras/uca-pf-camera.c14
-rw-r--r--src/cameras/uca-ufo-camera.c10
-rw-r--r--src/uca-camera.c55
-rw-r--r--src/uca-camera.h1
6 files changed, 42 insertions, 46 deletions
diff --git a/src/cameras/uca-mock-camera.c b/src/cameras/uca-mock-camera.c
index a149e5b..59c5ae8 100644
--- a/src/cameras/uca-mock-camera.c
+++ b/src/cameras/uca-mock-camera.c
@@ -28,6 +28,7 @@ enum {
};
static const gint mock_overrideables[] = {
+ PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
PROP_SENSOR_BITDEPTH,
@@ -286,6 +287,9 @@ static void uca_mock_camera_get_property(GObject *object, guint property_id, GVa
UcaMockCameraPrivate *priv = UCA_MOCK_CAMERA_GET_PRIVATE(object);
switch (property_id) {
+ case PROP_NAME:
+ g_value_set_string(value, "mock camera");
+ break;
case PROP_SENSOR_WIDTH:
g_value_set_uint(value, priv->width);
break;
diff --git a/src/cameras/uca-pco-camera.c b/src/cameras/uca-pco-camera.c
index 5a52834..a56392f 100644
--- a/src/cameras/uca-pco-camera.c
+++ b/src/cameras/uca-pco-camera.c
@@ -93,8 +93,7 @@ GQuark uca_pco_camera_error_quark()
}
enum {
- PROP_NAME = N_BASE_PROPERTIES,
- PROP_SENSOR_EXTENDED,
+ PROP_SENSOR_EXTENDED = N_BASE_PROPERTIES,
PROP_SENSOR_WIDTH_EXTENDED,
PROP_SENSOR_HEIGHT_EXTENDED,
PROP_SENSOR_TEMPERATURE,
@@ -118,6 +117,7 @@ enum {
};
static gint base_overrideables[] = {
+ PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
PROP_SENSOR_BITDEPTH,
diff --git a/src/cameras/uca-pf-camera.c b/src/cameras/uca-pf-camera.c
index 3bbd406..90f887b 100644
--- a/src/cameras/uca-pf-camera.c
+++ b/src/cameras/uca-pf-camera.c
@@ -62,6 +62,7 @@ GQuark uca_pf_camera_error_quark()
}
static gint base_overrideables[] = {
+ PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
PROP_SENSOR_BITDEPTH,
@@ -81,12 +82,10 @@ static gint base_overrideables[] = {
};
enum {
- PROP_NAME = N_BASE_PROPERTIES,
+ PROP_FOO = N_BASE_PROPERTIES,
N_PROPERTIES
};
-static GParamSpec *pf_properties[N_PROPERTIES] = { NULL, };
-
struct _UcaPfCameraPrivate {
guint roi_width;
@@ -337,15 +336,6 @@ static void uca_pf_camera_class_init(UcaPfCameraClass *klass)
for (guint i = 0; base_overrideables[i] != 0; i++)
g_object_class_override_property(gobject_class, base_overrideables[i], uca_camera_props[base_overrideables[i]]);
- pf_properties[PROP_NAME] =
- g_param_spec_string("name",
- "Name of the camera",
- "Name of the camera",
- "", G_PARAM_READABLE);
-
- for (guint id = N_BASE_PROPERTIES; id < N_PROPERTIES; id++)
- g_object_class_install_property(gobject_class, id, pf_properties[id]);
-
g_type_class_add_private(klass, sizeof(UcaPfCameraPrivate));
}
diff --git a/src/cameras/uca-ufo-camera.c b/src/cameras/uca-ufo-camera.c
index de8b128..347f3c1 100644
--- a/src/cameras/uca-ufo-camera.c
+++ b/src/cameras/uca-ufo-camera.c
@@ -54,12 +54,12 @@ GQuark uca_ufo_camera_error_quark()
}
enum {
- PROP_NAME = N_BASE_PROPERTIES,
- PROP_UFO_START,
+ PROP_UFO_START = N_BASE_PROPERTIES,
N_MAX_PROPERTIES = 512
};
static gint base_overrideables[] = {
+ PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
PROP_SENSOR_HORIZONTAL_BINNING,
@@ -389,12 +389,6 @@ static void uca_ufo_camera_class_init(UcaUfoCameraClass *klass)
for (guint i = 0; base_overrideables[i] != 0; i++)
g_object_class_override_property(gobject_class, base_overrideables[i], uca_camera_props[base_overrideables[i]]);
- ufo_properties[PROP_NAME] =
- g_param_spec_string("name",
- "Name of the camera",
- "Name of the camera",
- "", G_PARAM_READABLE);
-
/*
* This automatic property installation includes the properties created
* dynamically in uca_ufo_camera_new().
diff --git a/src/uca-camera.c b/src/uca-camera.c
index b36cd3a..1584569 100644
--- a/src/uca-camera.c
+++ b/src/uca-camera.c
@@ -74,7 +74,7 @@ static gchar *uca_camera_types[] = {
#ifdef HAVE_PHOTON_FOCUS
"pf",
#endif
- NULL
+ NULL
};
enum {
@@ -87,6 +87,7 @@ enum {
*/
const gchar *uca_camera_props[N_BASE_PROPERTIES] = {
NULL,
+ "name",
"sensor-width",
"sensor-height",
"sensor-bitdepth",
@@ -169,99 +170,105 @@ static void uca_camera_class_init(UcaCameraClass *klass)
klass->stop_recording = NULL;
klass->grab = NULL;
- camera_properties[PROP_SENSOR_WIDTH] =
+ camera_properties[PROP_NAME] =
+ g_param_spec_string("name",
+ "Name of the camera",
+ "Name of the camera",
+ "", G_PARAM_READABLE);
+
+ camera_properties[PROP_SENSOR_WIDTH] =
g_param_spec_uint(uca_camera_props[PROP_SENSOR_WIDTH],
"Width of sensor",
"Width of the sensor in pixels",
1, G_MAXUINT, 1,
G_PARAM_READABLE);
- camera_properties[PROP_SENSOR_HEIGHT] =
+ camera_properties[PROP_SENSOR_HEIGHT] =
g_param_spec_uint(uca_camera_props[PROP_SENSOR_HEIGHT],
"Height of sensor",
"Height of the sensor in pixels",
1, G_MAXUINT, 1,
G_PARAM_READABLE);
- camera_properties[PROP_SENSOR_BITDEPTH] =
+ camera_properties[PROP_SENSOR_BITDEPTH] =
g_param_spec_uint(uca_camera_props[PROP_SENSOR_BITDEPTH],
"Number of bits per pixel",
"Number of bits per pixel",
1, 32, 1,
G_PARAM_READABLE);
- camera_properties[PROP_SENSOR_HORIZONTAL_BINNING] =
+ camera_properties[PROP_SENSOR_HORIZONTAL_BINNING] =
g_param_spec_uint(uca_camera_props[PROP_SENSOR_HORIZONTAL_BINNING],
"Horizontal binning",
"Number of sensor ADCs that are combined to one pixel in horizontal direction",
1, G_MAXUINT, 1,
G_PARAM_READWRITE);
- camera_properties[PROP_SENSOR_HORIZONTAL_BINNINGS] =
+ camera_properties[PROP_SENSOR_HORIZONTAL_BINNINGS] =
g_param_spec_value_array(uca_camera_props[PROP_SENSOR_HORIZONTAL_BINNINGS],
"Array of possible binnings",
"Array of possible binnings in horizontal direction",
g_param_spec_uint(
uca_camera_props[PROP_SENSOR_HORIZONTAL_BINNING],
- "Number of ADCs",
+ "Number of ADCs",
"Number of ADCs that make up one pixel",
1, G_MAXUINT, 1,
G_PARAM_READABLE), G_PARAM_READABLE);
- camera_properties[PROP_SENSOR_VERTICAL_BINNING] =
+ camera_properties[PROP_SENSOR_VERTICAL_BINNING] =
g_param_spec_uint(uca_camera_props[PROP_SENSOR_VERTICAL_BINNING],
"Vertical binning",
"Number of sensor ADCs that are combined to one pixel in vertical direction",
1, G_MAXUINT, 1,
G_PARAM_READWRITE);
- camera_properties[PROP_SENSOR_VERTICAL_BINNINGS] =
+ camera_properties[PROP_SENSOR_VERTICAL_BINNINGS] =
g_param_spec_value_array(uca_camera_props[PROP_SENSOR_VERTICAL_BINNINGS],
"Array of possible binnings",
"Array of possible binnings in vertical direction",
g_param_spec_uint(
uca_camera_props[PROP_SENSOR_VERTICAL_BINNING],
- "Number of ADCs",
+ "Number of ADCs",
"Number of ADCs that make up one pixel",
1, G_MAXUINT, 1,
G_PARAM_READABLE), G_PARAM_READABLE);
- camera_properties[PROP_SENSOR_MAX_FRAME_RATE] =
+ camera_properties[PROP_SENSOR_MAX_FRAME_RATE] =
g_param_spec_float(uca_camera_props[PROP_SENSOR_MAX_FRAME_RATE],
"Maximum frame rate",
"Maximum frame rate at full frame resolution",
0.0f, G_MAXFLOAT, 1.0f,
G_PARAM_READABLE);
- camera_properties[PROP_TRIGGER_MODE] =
- g_param_spec_enum("trigger-mode",
+ camera_properties[PROP_TRIGGER_MODE] =
+ g_param_spec_enum("trigger-mode",
"Trigger mode",
"Trigger mode",
UCA_TYPE_CAMERA_TRIGGER, UCA_CAMERA_TRIGGER_AUTO,
G_PARAM_READWRITE);
- camera_properties[PROP_ROI_X] =
+ camera_properties[PROP_ROI_X] =
g_param_spec_uint(uca_camera_props[PROP_ROI_X],
"Horizontal coordinate",
"Horizontal coordinate",
0, G_MAXUINT, 0,
G_PARAM_READWRITE);
- camera_properties[PROP_ROI_Y] =
+ camera_properties[PROP_ROI_Y] =
g_param_spec_uint(uca_camera_props[PROP_ROI_Y],
"Vertical coordinate",
"Vertical coordinate",
0, G_MAXUINT, 0,
G_PARAM_READWRITE);
- camera_properties[PROP_ROI_WIDTH] =
+ camera_properties[PROP_ROI_WIDTH] =
g_param_spec_uint(uca_camera_props[PROP_ROI_WIDTH],
"Width",
"Width of the region of interest",
1, G_MAXUINT, 1,
G_PARAM_READWRITE);
- camera_properties[PROP_ROI_HEIGHT] =
+ camera_properties[PROP_ROI_HEIGHT] =
g_param_spec_uint(uca_camera_props[PROP_ROI_HEIGHT],
"Height",
"Height of the region of interest",
@@ -289,31 +296,31 @@ static void uca_camera_class_init(UcaCameraClass *klass)
0.0, G_MAXDOUBLE, 1.0,
G_PARAM_READWRITE);
- camera_properties[PROP_HAS_STREAMING] =
+ camera_properties[PROP_HAS_STREAMING] =
g_param_spec_boolean(uca_camera_props[PROP_HAS_STREAMING],
"Streaming capability",
"Is the camera able to stream the data",
TRUE, G_PARAM_READABLE);
- camera_properties[PROP_HAS_CAMRAM_RECORDING] =
+ camera_properties[PROP_HAS_CAMRAM_RECORDING] =
g_param_spec_boolean(uca_camera_props[PROP_HAS_CAMRAM_RECORDING],
"Cam-RAM capability",
"Is the camera able to record the data in-camera",
FALSE, G_PARAM_READABLE);
- camera_properties[PROP_TRANSFER_ASYNCHRONOUSLY] =
+ camera_properties[PROP_TRANSFER_ASYNCHRONOUSLY] =
g_param_spec_boolean(uca_camera_props[PROP_TRANSFER_ASYNCHRONOUSLY],
"Specify whether data should be transfered asynchronously",
"Specify whether data should be transfered asynchronously using a specified callback",
FALSE, G_PARAM_READWRITE);
- camera_properties[PROP_IS_RECORDING] =
+ camera_properties[PROP_IS_RECORDING] =
g_param_spec_boolean(uca_camera_props[PROP_IS_RECORDING],
"Is camera recording",
"Is the camera currently recording",
FALSE, G_PARAM_READABLE);
- camera_properties[PROP_IS_READOUT] =
+ camera_properties[PROP_IS_READOUT] =
g_param_spec_boolean(uca_camera_props[PROP_IS_READOUT],
"Is camera in readout mode",
"Is camera in readout mode",
@@ -346,7 +353,7 @@ static void uca_camera_init(UcaCamera *camera)
* {
* // Do whatever is necessary. In the end you will have some kind of
* // Tango object t which needs to somehow hook up to the properties. A
- * // list of all available properties can be enumerated with
+ * // list of all available properties can be enumerated with
* // g_object_class_list_properties(G_OBJECT_CLASS(camera),
* // &n_properties);
*
@@ -418,7 +425,7 @@ UcaCamera *uca_camera_new(const gchar *type, GError **error)
if ((tmp_error == NULL) && (camera == NULL)) {
g_set_error(error, UCA_CAMERA_ERROR, UCA_CAMERA_ERROR_NOT_FOUND,
- "Camera type %s not found", type);
+ "Camera type %s not found", type);
return NULL;
}
diff --git a/src/uca-camera.h b/src/uca-camera.h
index 8462b3d..8924fa8 100644
--- a/src/uca-camera.h
+++ b/src/uca-camera.h
@@ -52,6 +52,7 @@ typedef struct _UcaCameraPrivate UcaCameraPrivate;
enum {
PROP_0 = 0,
+ PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
PROP_SENSOR_BITDEPTH,