tdiary-contrib 3.2.2.20130518 → 3.2.2.20130614

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -3
  3. data/doc/ja/plugin/image_gps.txt +56 -17
  4. data/doc/ja/plugin/playstore.txt +31 -0
  5. data/js/socialbutton.js +8 -2
  6. data/lib/exifparser/README +6 -12
  7. data/lib/tdiary-contrib.rb +7 -6
  8. data/plugin/brow_si.rb +32 -0
  9. data/plugin/image_gps.rb +110 -56
  10. data/plugin/instagr.rb +1 -0
  11. data/plugin/playstore.rb +161 -0
  12. data/plugin/tweet_quote.rb +102 -48
  13. data/plugin/twitter_badge.rb +1 -1
  14. data/util/estraier-search/estraier-register.rb +2 -1
  15. data/util/estraier-search/estraier-search.rb +2 -1
  16. data/util/image-gallery/misc/plugin/recent_image.rb +1 -1
  17. metadata +7 -27
  18. data/doc/ja/plugin/image_detail.txt +0 -69
  19. data/doc/ja/plugin/image_gps2.txt +0 -41
  20. data/lib/exifparser/BUGS +0 -1
  21. data/lib/exifparser/ChangeLog +0 -169
  22. data/lib/exifparser/install.rb +0 -1015
  23. data/lib/exifparser/lib/exifparser/makernote/canon.rb +0 -502
  24. data/lib/exifparser/lib/exifparser/makernote/fujifilm.rb +0 -415
  25. data/lib/exifparser/lib/exifparser/makernote/minolta.rb +0 -84
  26. data/lib/exifparser/lib/exifparser/makernote/mk_nikonflensname.rb +0 -39
  27. data/lib/exifparser/lib/exifparser/makernote/nikon.rb +0 -267
  28. data/lib/exifparser/lib/exifparser/makernote/nikon2.rb +0 -581
  29. data/lib/exifparser/lib/exifparser/makernote/nikonflensname.rb +0 -438
  30. data/lib/exifparser/lib/exifparser/makernote/olympus.rb +0 -225
  31. data/lib/exifparser/lib/exifparser/makernote/prove.rb +0 -84
  32. data/lib/exifparser/lib/exifparser/makernote/sigma.rb +0 -237
  33. data/lib/exifparser/lib/exifparser/pre-setup.rb +0 -1
  34. data/lib/exifparser/lib/exifparser/scan.rb +0 -278
  35. data/lib/exifparser/lib/exifparser/tag.rb +0 -2298
  36. data/lib/exifparser/lib/exifparser/thumbnail.rb +0 -76
  37. data/lib/exifparser/lib/exifparser/utils.rb +0 -88
  38. data/lib/exifparser/lib/exifparser.rb +0 -265
  39. data/lib/exifparser/sample/exifview.rb +0 -279
  40. data/plugin/image_detail.rb +0 -143
@@ -1,502 +0,0 @@
1
- #
2
- # exifparser/makernote/nikon.rb -
3
- #
4
- # Copyright (C) 2002 Ryuichi Tamura (r-tam@fsinet.or.jp)
5
- #
6
- # $Revision: 1.1.1.1 $
7
- # $Date: 2002/12/16 07:59:00 $
8
- #
9
- require 'exifparser/tag'
10
- require 'exifparser/utils'
11
-
12
- module Exif
13
-
14
- module Tag
15
-
16
- module MakerNote
17
-
18
- #
19
- # 0x0000 - Unknown
20
- #
21
-
22
- #
23
- # 0x0001 - Tag0x0001
24
- #
25
- class Tag0x0001 < Base
26
-
27
- def processData
28
- @formatted = []
29
- partition_data(@count) do |part|
30
- @formatted.push _formatData(part)
31
- end
32
- end
33
-
34
- def value
35
- numTags = @formatted[0] / 2
36
- ret = {}
37
-
38
- return ret if numTags < 2
39
- #
40
- # offset 1 : Macro mode
41
- #
42
- ret["Macro mode"] =
43
- case @formatted[1]
44
- when 1
45
- "Macro"
46
- when 2
47
- "Normal"
48
- else
49
- "Unknown"
50
- end
51
-
52
- return ret if numTags < 3
53
- #
54
- # offset 2 : if nonzero, length of self-timer in 10ths of a second.
55
- #
56
- selftimer_length = @formatted[2]
57
-
58
- return ret if numTags < 5
59
- #
60
- # offset 4 : Flash mode
61
- #
62
- ret["Flash mode"] =
63
- case @formatted[4]
64
- when 0
65
- "flash not fired"
66
- when 1
67
- "auto"
68
- when 2
69
- "on"
70
- when 3
71
- "red-eye reduction"
72
- when 4
73
- "slow synchro"
74
- when 5
75
- "auto + redeye reduction"
76
- when 6
77
- "on + redeye reduction"
78
- when 16
79
- "external flash"
80
- else
81
- "unknown"
82
- end
83
-
84
- return ret if numTags < 6
85
- #
86
- # offset 5: Contiuous drive mode
87
- #
88
- ret["Continuous drive mode"] =
89
- case @formatted[5]
90
- when 0
91
- if selftimer_length != 0
92
- "Timer = #{selftimer_length/10.0}sec."
93
- else
94
- "Single"
95
- end
96
- when 1
97
- "Continuous"
98
- end
99
-
100
- return ret if numTags < 8
101
- #
102
- # offset 7: Focus Mode
103
- #
104
- ret["Focus Mode"] =
105
- case @formatted[7]
106
- when 0
107
- "One-Shot"
108
- when 1
109
- "AI Servo"
110
- when 2
111
- "AI Focus"
112
- when 3
113
- "MF"
114
- when 4
115
- "Single"
116
- when 5
117
- "Continuous"
118
- when 6
119
- "MF"
120
- else
121
- "Unknown"
122
- end
123
-
124
- return ret if numTags < 11
125
- #
126
- # offset 10: Image size
127
- #
128
- ret["Image Size"] =
129
- case @formatted[10]
130
- when 0
131
- "Large"
132
- when 1
133
- "Medium"
134
- when
135
- "Small"
136
- else
137
- "Unknown"
138
- end
139
-
140
- return ret if numTags < 12
141
- #
142
- # offset 11: "Easy shooting" mode
143
- #
144
- ret["Easy shooting mode"] =
145
- case @formatted[11]
146
- when 0
147
- "Full auto"
148
- when 1
149
- "Manual"
150
- when 2
151
- "Landscape"
152
- when 3
153
- "Fast Shutter"
154
- when 4
155
- "Slow Shutter"
156
- when 5
157
- "Night"
158
- when 6
159
- "B&W"
160
- when 7
161
- "Sepia"
162
- when 8
163
- "Portrait"
164
- when 9
165
- "Sports"
166
- when 10
167
- "Macro / Close-Up"
168
- when 11
169
- "Pan Focus"
170
- else
171
- "Unknown"
172
- end
173
-
174
- return ret if numTags < 14
175
- #
176
- # offset 13: Contrast
177
- #
178
- ret["Contrast"] =
179
- case @formatted[13]
180
- when 0xffff
181
- "Low"
182
- when 0x0000
183
- "Normal"
184
- when 0x0001
185
- "High"
186
- else
187
- "Unknown"
188
- end
189
-
190
- return ret if numTags < 15
191
- #
192
- # offset 14: Saturation
193
- #
194
- ret["Saturation"] =
195
- case @formatted[14]
196
- when 0xffff
197
- "Low"
198
- when 0x0000
199
- "Normal"
200
- when 0x0001
201
- "High"
202
- else
203
- "Unknown"
204
- end
205
-
206
- return ret if numTags < 16
207
- #
208
- # offset 15: Contrast
209
- #
210
- ret["Sharpness"] =
211
- case @formatted[15]
212
- when 0xffff
213
- "Low"
214
- when 0x0000
215
- "Normal"
216
- when 0x0001
217
- "High"
218
- else
219
- "Unknown"
220
- end
221
-
222
- return ret if numTags < 17
223
- #
224
- # offset 16: ISO
225
- #
226
- ret["ISO"] =
227
- case @formatted[16]
228
- when 0
229
- "ISOSpeedRatings"
230
- when 15
231
- "Auto"
232
- when 16
233
- 50
234
- when 17
235
- 100
236
- when 18
237
- 200
238
- when 19
239
- 400
240
- else
241
- "Unknown"
242
- end
243
-
244
- return ret if numTags < 18
245
- #
246
- # offset 17: Metering mode
247
- #
248
- ret['Metering mode'] =
249
- case @formatted[17]
250
- when 3
251
- "Evaluative"
252
- when 4
253
- "Partial"
254
- when 5
255
- "Center-weighted"
256
- else
257
- "Unknown"
258
- end
259
- ret
260
- end
261
-
262
- end
263
-
264
- #
265
- # 0x0003 - Tag0x0003
266
- #
267
- class Tag0x0003 < Base
268
- end
269
-
270
- #
271
- # 0x0004 - Tag0x0004
272
- #
273
- class Tag0x0004 < Base
274
-
275
- def processData
276
- @formatted = []
277
- partition_data(@count) do |part|
278
- @formatted.push _formatData(part)
279
- end
280
- end
281
-
282
- def value
283
- numTags = @formatted[0] / 2
284
- ret = {}
285
-
286
- return hash if numTags < 8
287
- # offset 7 : white balance
288
- ret['White balance'] =
289
- case @formatted[7]
290
- when 0
291
- "Auto"
292
- when 1
293
- "Sunny"
294
- when 2
295
- "Cloudy"
296
- when 3
297
- "Tungsten"
298
- when 4
299
- "Florescent"
300
- when 5
301
- "Flash"
302
- when 6
303
- "Custom"
304
- else
305
- "Unknown"
306
- end
307
-
308
- return ret if numTags < 10
309
- # offset 9: Sequence number (if in a continuous burst)
310
- ret['Sequence number'] = @formatted[9]
311
-
312
- return ret if numTags < 15
313
- # offset 14: Auto Focus point used
314
- ret['Auto Focus point used'] = @formatted[14]
315
-
316
- return ret if numTags < 16
317
- ret['Flash bias'] =
318
- case @formatted[15]
319
- when 0xffc0
320
- "-2 EV"
321
- when 0xffcc
322
- "-1.67 EV"
323
- when 0xffd0
324
- "-1.50 EV"
325
- when 0xffd4
326
- "-1.33 EV"
327
- when 0xffe0
328
- "-1 EV"
329
- when 0xffec
330
- "-0.67 EV"
331
- when 0xfff0
332
- "-0.50 EV"
333
- when 0xfff4
334
- "-0.33 EV"
335
- when 0x0000
336
- "0 EV"
337
- when 0x000c
338
- "0.33 EV"
339
- when 0x0010
340
- "0.50 EV"
341
- when 0x0014
342
- "0.67 EV"
343
- when 0x0020
344
- "1 EV"
345
- when 0x002c
346
- "1.33 EV"
347
- when 0x0030
348
- "1.50 EV"
349
- when 0x0034
350
- "1.67 EV"
351
- when 0x0040
352
- "2 EV"
353
- else
354
- "Unknown"
355
- end
356
-
357
- return ret if numTags < 20
358
- ret['Subject Distance'] = @formatted[19]
359
-
360
- ret
361
- end
362
-
363
- end
364
-
365
- #
366
- # 0x0006 - ImageType
367
- #
368
- class ImageType < Base
369
- end
370
-
371
- #
372
- # 0x0007 - FirmwareVersion
373
- #
374
- class FirmwareVersion < Base
375
- end
376
-
377
- #
378
- # 0x0008 - ImageNumber
379
- #
380
- class ImageNumber < Base
381
- end
382
-
383
- #
384
- # 0x0009 - OwnerName
385
- #
386
- class OwnerName < Base
387
- end
388
-
389
- #
390
- # 0x000a - Unknown
391
- #
392
-
393
- #
394
- # 0x000c - CameraSerialNumber
395
- #
396
- class CameraSerialNumber < Base
397
-
398
- def to_s
399
- hi = @formatted / 0x10000
400
- low = @formatted % 0x10000
401
- "%04X%05d"%[hi, low]
402
- end
403
-
404
- end
405
-
406
- #
407
- # 0x000d - Unknown
408
- #
409
-
410
- #
411
- # 0x000f - CustomFunctions
412
- #
413
- class CustomFunctions < Base
414
-
415
- def processData
416
- @formatted = []
417
- partition_data(@count) do |part|
418
- @formatted.push _formatData(part)
419
- end
420
- end
421
-
422
- end
423
-
424
- end
425
-
426
- CanonIFDTable = {
427
- 0x0000 => Unknown,
428
- 0x0001 => MakerNote::Tag0x0001,
429
- 0x0003 => MakerNote::Tag0x0003,
430
- 0x0004 => MakerNote::Tag0x0004,
431
- 0x0006 => MakerNote::ImageType,
432
- 0x0007 => MakerNote::FirmwareVersion,
433
- 0x0008 => MakerNote::ImageNumber,
434
- 0x0009 => MakerNote::OwnerName,
435
- 0x000a => Unknown,
436
- 0x000c => MakerNote::CameraSerialNumber,
437
- 0x000d => Unknown,
438
- 0x000f => MakerNote::CustomFunctions
439
- }
440
-
441
- end
442
-
443
- class Canon
444
-
445
- def initialize(fin, tiff_origin, dataPos, byteOrder_module)
446
- @fin = fin
447
- @tiffHeader0 = tiff_origin
448
- @dataPos = dataPos
449
- @byteOrder_module = byteOrder_module
450
- self.extend @byteOrder_module
451
- end
452
-
453
- def scan_IFD
454
- #
455
- # Canon MakerNote starts from 0
456
- #
457
- @fin.pos = @dataPos + 0
458
- #
459
- # get the number of tags
460
- #
461
- numDirs = decode_ushort(fin_read_n(2))
462
- #
463
- # now scan them
464
- #
465
- 1.upto(numDirs) {
466
- curpos_tag = @fin.pos
467
- tag = parseTagID(fin_read_n(2))
468
- tagclass = Tag.find(tag.hex, Tag::CanonIFDTable)
469
- unit, formatter = Tag::Format::Unit[decode_ushort(fin_read_n(2))]
470
- count = decode_ulong(fin_read_n(4))
471
- tagdata = fin_read_n(4)
472
- obj = tagclass.new(tag, "MakerNote", count)
473
- obj.extend formatter, @byteOrder_module
474
- obj.pos = curpos_tag
475
- if unit * count > 4
476
- curpos = @fin.pos
477
- begin
478
- @fin.pos = @tiffHeader0 + decode_ulong(tagdata)
479
- obj.dataPos = @fin.pos
480
- obj.data = fin_read_n(unit*count)
481
- ensure
482
- @fin.pos = curpos
483
- end
484
- else
485
- obj.dataPos = @fin.pos - 4
486
- obj.data = tagdata
487
- end
488
- obj.processData
489
- yield obj
490
- }
491
- end
492
-
493
- private
494
-
495
- def fin_read_n(n)
496
- @fin.read(n)
497
- end
498
-
499
- end
500
-
501
-
502
- end