Difference between revisions of "Truxton exif set shutter count"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This records the shutter count of the imaging device. Some systems record the number of times an image was recorded. This allows you to sort a set of images in order of being...")
 
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
  
 
=Sample=
 
=Sample=
<source lang="C" line highlight="32">
+
<source lang="C" highlight="32">
 
void add_exif( uint64_t truxton, uint64_t file_handle, uint8_t const * destination_string, size_t max_size )
 
void add_exif( uint64_t truxton, uint64_t file_handle, uint8_t const * destination_string, size_t max_size )
 
{
 
{
Line 33: Line 33:
 
   }
 
   }
  
   uint64_t exif_handle = truxton_create_exif(truxton);
+
   uint64_t exif_handle = truxton_create_exif( truxton );
  
 
   truxton_exif_set_gps_time( exif_handle, data.gps_time );
 
   truxton_exif_set_gps_time( exif_handle, data.gps_time );
Line 76: Line 76:
 
   printf( "EXIF ID is %s\n", id );
 
   printf( "EXIF ID is %s\n", id );
  
   truxton_exif_destroy(exif_handle);
+
   truxton_exif_destroy( exif_handle );
 
}
 
}
 
</source>
 
</source>

Latest revision as of 09:28, 10 February 2021

This records the shutter count of the imaging device. Some systems record the number of times an image was recorded. This allows you to sort a set of images in order of being taken regardless of the times recorded in the data. This corresponds to the [ShutterCount] column of the [EXIF] table in the database.

Syntax

void truxton_exif_set_shutter_count( uint64_t exif_handle, uint64_t count );

Parameters

exif_handle

This handle comes from calling truxton_exif_create() or truxton_file_create_exif().

count

The number of times an image was recorded by this device.

Sample

void add_exif( uint64_t truxton, uint64_t file_handle, uint8_t const * destination_string, size_t max_size )
{
   char id[ 40 ];

   EXIF_PARSER parser;

   parser.Initialize( buffer, buffer_size );

   EXIF_DATA data;

   if ( fill_exif_data( parser, data ) == 0 )
   {
      return;
   }

   uint64_t exif_handle = truxton_create_exif( truxton );

   truxton_exif_set_gps_time( exif_handle, data.gps_time );
   truxton_exif_set_gps_time_offset( exif_handle, data.offsets.gps_time );
   truxton_exif_set_device_time( exif_handle, data.device_time );
   truxton_exif_set_device_time_offset( exif_handle, data.offsets.device_time );
   truxton_exif_set_latitude( exif_handle, data.latitude );
   truxton_exif_set_latitude_offset( exif_handle, data.offsets.latitude );
   truxton_exif_set_longitude( exif_handle, data.longitude );
   truxton_exif_set_longitude_offset( exif_handle, data.offsets.longitude );
   truxton_exif_set_altitude( exif_handle, data.altitude );
   truxton_exif_set_altitude_offset( exif_handle, data.offsets.altitude );
   truxton_exif_set_heading( exif_handle, data.heading);
   truxton_exif_set_heading_offset( exif_handle, data.offsets.heading );
   truxton_exif_set_focal_length( exif_handle, data.focal_length );
   truxton_exif_set_focal_length_offset( exif_handle, data.offsets.focal_length );
   truxton_exif_set_shutter_count( exif_handle, data.shutter_count );
   truxton_exif_set_shutter_count_offset( exif_handle, data.offsets.shutter_count );
   truxton_exif_set_thumbnail_offset( exif_handle, data.thumbnail_offset );
   truxton_exif_set_thumbnail_offset_offset( exif_handle, data.offsets.thumbnail_offset );
   truxton_exif_set_thumbnail_length( exif_handle, data.thumbnail_length );
   truxton_exif_set_thumbnail_length_offset( exif_handle, data.offsets.thumbnail_length );
   truxton_exif_set_make( exif_handle, data.make );
   truxton_exif_set_make_offset( exif_handle, data.offsets.make );
   truxton_exif_set_model( exif_handle, data.model );
   truxton_exif_set_model_offset( exif_handle, data.offsets.model );
   truxton_exif_set_body_serial_number( exif_handle, data.body_serial_number );
   truxton_exif_set_body_serial_number_offset( exif_handle, data.offsets.body_serial_number );
   truxton_exif_set_lens_serial_number( exif_handle, data.lens_serial_number );
   truxton_exif_set_lens_serial_number_offset( exif_handle, data.offsets.lens_serial_number );

   truxton_file_get_id( file_handle, id, sizeof( id ) );
   truxton_exif_set_file_id( exif_handle, id );

   truxton_file_get_media_id( file_handle, id, sizeof( id ) );
   truxton_exif_set_media_id( exif_handle, id );

   truxton_exif_save( exif_handle );

   truxton_exif_get_id( exif_handle, id, sizeof( id ) );

   printf( "EXIF ID is %s\n", id );

   truxton_exif_destroy( exif_handle );
}