Difference between revisions of "Truxton exif set media id"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This sets the source media of the EXIF. This corresponds to the <code>[MediaID]</code> column of the <code><nowiki>[</nowiki>EXIF<nowiki>]</nowiki></code> table...")
 
Line 35: Line 35:
 
   }
 
   }
  
   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 78: Line 78:
 
   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>

Revision as of 09:21, 10 February 2021

This sets the source media of the EXIF. This corresponds to the [MediaID] column of the [EXIF] table in the database.

Syntax

void truxton_exif_set_media_id( uint64_t exif_handle, char const * id );

Parameters

exif_handle

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

id

The string representation of a GUID. It corresponds to the [MediaID] column of the [EXIF] table.

Remarks

This identifier should be a value from the [ID] column of the[Media] table in the database.

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 );
}