A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | You must install and enable the following add-on in the spreadsheets where you want these wonderful timecode custom functions to be available: | |||||||||||||||||
2 | TimeCode-MagiKs Google Sheet add-on: | https://workspace.google.com/u/0/marketplace/app/timecodemagiks/503934260838 | ||||||||||||||||
3 | (For now only integer frame rates are supported) | |||||||||||||||||
4 | TimeCode-MagiKs version : | v1.4 | (If "Loading..." or "#NAME?" is displayed on the left of this cell, (re)open the spreadsheet and hit refresh - This is a Google bug) | |||||||||||||||
5 | Blue cells = input data | |||||||||||||||||
6 | Green Cells = cells containing a formula | |||||||||||||||||
7 | Yellow cells = cells containg more results from the cells in green | |||||||||||||||||
8 | 24 FPS time codes: | 01:32:24:18 02:42:34:07 | 1:00 | 02:09:40:07 | 01:29:39:10 | 01:33:41:03 | 02:00:08:11 | 01:29:19:15 | 01:28:49:17 | 02:36:22:11 | 01:14:55:18 | |||||||
9 | Available functions with usage examples as used in column B Each of the functions below is applied on a range, they can also be used on a specific cell or literal value (Click each cell in green to checkout their formula) | |||||||||||||||||
10 | TC_CONV(B5:T5, 24, 25) : (24 to 25 conversion) | 01:28:42:24 02:36:04:03 | 00:00:00:24 | 02:04:29:02 | 01:26:04:06 | 01:29:56:07 | 01:55:20:03 | 01:25:45:06 | 01:25:16:13 | 02:30:07:04 | 01:11:55:23 | |||||||
11 | TC_TO_FRAME(B5:T5, 24) : (Convert a range of timecodes at 24 fps to frame number) | 133074 234103 | 24 | 186727 | 129106 | 134907 | 173003 | 128631 | 127913 | 225179 | 107898 | |||||||
12 | TC_TO_FRAME(B7:T7, 25) : (Convert a range of timecodes at 25 fps to frame number) | 133074 234103 | 24 | 186727 | 129106 | 134907 | 173003 | 128631 | 127913 | 225179 | 107898 | |||||||
13 | FRAME_TO_TC(B9:T9, 24) : (Convert a frame number to its 24 fps timecode representation) | 01:32:24:18 02:42:34:07 | 00:00:01:00 | 02:09:40:07 | 01:29:39:10 | 01:33:41:03 | 02:00:08:11 | 01:29:19:15 | 01:28:49:17 | 02:36:22:11 | 01:14:55:18 | |||||||
14 | TC_OFFSET(B10:T10, -1 * TC_TO_FRAME("2:00",24), 24) : (Apply a negative offset of 2 seconds to a range of 24 fps timecode) | 01:32:22:18 02:42:32:07 | 23:59:59:00 | 02:09:38:07 | 01:29:37:10 | 01:33:39:03 | 02:00:06:11 | 01:29:17:15 | 01:28:47:17 | 02:36:20:11 | 01:14:53:18 | |||||||
15 | HFROMI($B$9:$9, 24) : (Get the integer number of hours from a range of frame numbers at 24fps) | 1 2 | 0 | 2 | 1 | 1 | 2 | 1 | 1 | 2 | 1 | |||||||
16 | MFROMI($B$9:$9, 24) : (Get the integer number of minutes from a range of frame numbers at 24fps) | 32 42 | 0 | 9 | 29 | 33 | 0 | 29 | 28 | 36 | 14 | |||||||
17 | SFROMI($B$9:$9, 24) : (Get the integer number of seconds from a range of frame numbers at 24fps) | 24 34 | 1 | 40 | 39 | 41 | 8 | 19 | 49 | 22 | 55 | |||||||
18 | IFROMI($B$9:$9, 24) : (Get the integer number of image from a range of frame numbers at 24fps) | 18 7 | 0 | 7 | 10 | 3 | 11 | 15 | 17 | 11 | 18 | |||||||
19 | MFROMIRAW($B$9:$9, 24) : (Get the total integer number of minutes from a range of frame numbers at 24fps) | 92 162 | 0 | 129 | 89 | 93 | 120 | 89 | 88 | 156 | 74 | |||||||
20 | ||||||||||||||||||
21 | ||||||||||||||||||
22 | ||||||||||||||||||
23 | Function to work with EDLs imported via the 'import EDL' in the Add-ons menu: In the folowing examples, we use the EDL imported in the EDLExample sheet | |||||||||||||||||
24 | TC_MATCHBACK(timeCode, fps, a_edl, offset) | Example: TC_MATCHBACK("10:01:02:03", 24, sheet3!A3:H, 0) Summary: Use an EDL to get a record timeCode's related source timeCode. (most effects are not supported yet.) timeCode: The record timeCode for wich you want the related source timeCode (Can be a range) fps: The frame rate of the provided record timeCode and EDL a_edl: The EDL represented by a range containing rows of 8 cells each [Event#, Source, Track, EventType, TCSourceIn, TCSourceOut, TCRecordIn, TCRecordOut] offset: An optional offset to apply to the returned TC | ||||||||||||||||
25 | Exemple : TC_MATCHBACK("01:02:03:04", 24, EDLExample!A3:H) "get the time code of the source edited at 01:02:03:04 and 01:02:03:05" (using a multiline input in this example to show that it's supported but it's best to provide a range of multiple cells) When source timecodes are not unique throughout the timeline the source name and the event number are added with the returned timecode If there is a Dissolve at this record location boths source timecodes are returned | 07:02:18:00 (s: bob107) (e: 240) 07:02:18:01 (s: bob107) (e: 240) | 01:02:03:04 01:02:03:05 | |||||||||||||||
26 | TC_REVERSE_MATCHBACK(timeCode, fps, a_edl, offset) | Example: TC_REVERSE_MATCHBACK("10:01:02:03", 24, sheet3!A3:H, 0) Summary: Use an EDL to get a source timeCode's related record timeCode. (most effects are not supported yet.) @author wej timeCode: The source timeCode for wich you want the related record timeCode (Can be a range) fps: The frame rate of the provided source timeCode and EDL a_edl: The EDL represented by a range containing rows of 8 cells each [Event#, Source, Track, EventType, TCSourceIn, TCSourceOut, TCRecordIn, TCRecordOut] offset: An optional offset to apply to the returned TC | ||||||||||||||||
27 | Exemple : TC_REVERSE_MATCHBACK("01:02:03:04", 24, EDLExample!A3:H) "where is the source timecodes 07:02:18:00 and 07:02:18:01 edited ?" (as a multiline input in this example to show that it's supported but it's best to provide it as an array if possible else it can get confusing when multiple values are returned for each input...) When source timecodes are not unique throughout the timeline the source name and the event number are added with the returned timecode. Additionaly if this source timecode is edited at several locations, all the record, source and event numbers are returned | 01:02:03:04 (s: bob107) (e: 240) 01:02:03:05 (s: bob107) (e: 240) | ||||||||||||||||
28 | EDL_SUMMARY(a_edl, fps) | Example: EDL_SUMMARY(sheet3!A3:H, 24) Summary: Returns various useful details avout an EDL (Most effects are not supported yet.) a_edl: The EDL represented by a range containing rows of 8 cells each [Event#, Source, Track, EventType, TCSourceIn, TCSourceOut, TCRecordIn, TCRecordOut] fps: The frame rate of the provided record timeCode and EDL | ||||||||||||||||
29 | ||||||||||||||||||
30 | Example : EDL_SUMMARY(EDLExample!A3:H,24) | === EDL Summary (v1.4) === | ||||||||||||||||
31 | Events: | 451(*) | ||||||||||||||||
32 | Edited source length: | 163404 | 01:53:28:12 | |||||||||||||||
33 | Edit length: | 163404 | 01:53:28:12 | |||||||||||||||
34 | Edit real duration: | 01h 53m 28.5s | ||||||||||||||||
35 | Number of sources: | 14 | (source timecodes are NOT unique: 1 overlaps detected) | |||||||||||||||
36 | ---- Edited length per source ---- | |||||||||||||||||
37 | Source name | Frame # | Duration | |||||||||||||||
38 | START | 488 | 00:00:20:08 | |||||||||||||||
39 | bob101 | 12885 | 00:08:56:21 | |||||||||||||||
40 | bob102 | 14241 | 00:09:53:09 | |||||||||||||||
41 | bob103 | 14679 | 00:10:11:15 | |||||||||||||||
42 | bob104 | 14220 | 00:09:52:12 | |||||||||||||||
43 | bob105 | 14661 | 00:10:10:21 | |||||||||||||||
44 | bob106 | 14870 | 00:10:19:14 | |||||||||||||||
45 | bob107 | 14816 | 00:10:17:08 | |||||||||||||||
46 | bob108 | 13396 | 00:09:18:04 | |||||||||||||||
47 | bob109 | 15010 | 00:10:25:10 | |||||||||||||||
48 | bob110 | 13448 | 00:09:20:08 | |||||||||||||||
49 | bob111 | 13053 | 00:09:03:21 | |||||||||||||||
50 | bob112 | 7397 | 00:05:08:05 | |||||||||||||||
51 | END | 240 | 00:00:10:00 | |||||||||||||||
52 | === End of summary === | |||||||||||||||||
53 | ||||||||||||||||||
54 | ||||||||||||||||||
55 | ||||||||||||||||||
56 | ||||||||||||||||||
57 | ||||||||||||||||||
58 | ||||||||||||||||||
59 | ||||||||||||||||||
60 | ||||||||||||||||||
61 | ||||||||||||||||||
62 | ||||||||||||||||||
63 | ||||||||||||||||||
64 | ||||||||||||||||||
65 | ||||||||||||||||||
66 | ||||||||||||||||||
67 | ||||||||||||||||||
68 | ||||||||||||||||||
69 | ||||||||||||||||||
70 | ||||||||||||||||||
71 | ||||||||||||||||||
72 | ||||||||||||||||||
73 | ||||||||||||||||||
74 | ||||||||||||||||||
75 | ||||||||||||||||||
76 | ||||||||||||||||||
77 | ||||||||||||||||||
78 | ||||||||||||||||||
79 | ||||||||||||||||||
80 | ||||||||||||||||||
81 | ||||||||||||||||||
82 | ||||||||||||||||||
83 | ||||||||||||||||||
84 | ||||||||||||||||||
85 | ||||||||||||||||||
86 | ||||||||||||||||||
87 | ||||||||||||||||||
88 | ||||||||||||||||||
89 | ||||||||||||||||||
90 | ||||||||||||||||||
91 | ||||||||||||||||||
92 | ||||||||||||||||||
93 | ||||||||||||||||||
94 | ||||||||||||||||||
95 | ||||||||||||||||||
96 | ||||||||||||||||||
97 | ||||||||||||||||||
98 | ||||||||||||||||||
99 | ||||||||||||||||||
100 |