\n");
+ CopyString(ReferencesArray[RefIdentifier - 1].ID, CurrentRef->editor);
+ CopyString(ReferencesArray[RefIdentifier - 1].RefTitle, "Title");
+ CopyString(ReferencesArray[RefIdentifier - 1].URL, "http://example.com/");
+ CopyString(ReferencesArray[RefIdentifier - 1].Source, "Source");
+ CopyString(ReferencesArray[RefIdentifier - 1].Identifier[ReferencesArray[RefIdentifier - 1].IdentifierCount].Timecode, Anno->time);
+ ReferencesArray[RefIdentifier - 1].Identifier[ReferencesArray[RefIdentifier - 1].IdentifierCount].Identifier = RefIdentifier;
+ ++ReferencesArray[RefIdentifier - 1].IdentifierCount;
+
+ ++UniqueRefs;
+
HasReferenceMenu = TRUE;
}
+ else
+ {
+ for(int i = 0; i < UniqueRefs; ++i)
+ {
+ if(!StringsDiffer(CurrentRef->editor, ReferencesArray[i].ID))
+ {
+ CopyString(ReferencesArray[i].Identifier[ReferencesArray[i].IdentifierCount].Timecode, Anno->time);
+ ReferencesArray[i].Identifier[ReferencesArray[i].IdentifierCount].Identifier = RefIdentifier;
+ ++ReferencesArray[i].IdentifierCount;
+ goto AppendedIdentifier;
+ }
+ }
+ CopyString(ReferencesArray[UniqueRefs].ID, CurrentRef->editor);
+ CopyString(ReferencesArray[UniqueRefs].RefTitle, "Title");
+ CopyString(ReferencesArray[UniqueRefs].URL, "http://example.com/");
+ CopyString(ReferencesArray[UniqueRefs].Source, "Source");
+ CopyString(ReferencesArray[UniqueRefs].Identifier[ReferencesArray[UniqueRefs].IdentifierCount].Timecode, Anno->time);
+ ReferencesArray[UniqueRefs].Identifier[ReferencesArray[UniqueRefs].IdentifierCount].Identifier = RefIdentifier;
+ ++ReferencesArray[UniqueRefs].IdentifierCount;
+ ++UniqueRefs;
+ }
+AppendedIdentifier:
if(!HasReference)
{
ClaimBuffer(MemoryArena, &ClaimedMemory, &AnnotationData, 128);
@@ -392,27 +454,6 @@ Readable);
CopyStringToBuffer(&AnnotationData, ",%s", CurrentRef->editor);
}
- CopyStringToBuffer(&ReferenceMenu,
-"
\n"
-" \n"
-" %s
\n"
-" %s
\n"
-" \n"
-// TODO(matt): Fill the div class="ref_indices" with <= 3 span
-// class="ref_index" and ensure to put these <=3 spans on the same line without
-// a space between them
-" \n"
-" [%d]%s\n"
-"
\n"
-" \n",
-CurrentRef->editor,
-"http://example.com/",
-"Source",
-"Title",
-TimecodeToSeconds(Anno->time),
-RefIdentifier,
-Anno->time);
-
CopyStringToBuffer(&Text, "
%d", RefIdentifier);
++RefIndex;
@@ -482,18 +523,18 @@ Anno->time);
}
CopyStringToBuffer(&AnnotationClass, "\"");
- CopyBuffer(&AnnotationClass, &AnnotationHeader);
+ CopyBuffer(&AnnotationHeader, &AnnotationClass);
if(HasQuote || HasReference)
{
CopyStringToBuffer(&AnnotationData, "\"");
- CopyBuffer(&AnnotationData, &AnnotationHeader);
+ CopyBuffer(&AnnotationHeader, &AnnotationData);
}
CopyStringToBuffer(&AnnotationHeader, ">\n");
ClaimBuffer(MemoryArena, &ClaimedMemory, &Annotation, 1024 * 4);
- CopyBuffer(&AnnotationHeader, &Annotation);
+ CopyBuffer(&Annotation, &AnnotationHeader);
CopyStringToBuffer(&Annotation,
"
%s",
Anno->time);
@@ -501,19 +542,19 @@ Anno->time);
if(HasCategory)
{
CopyStringToBuffer(&Category, "");
- CopyBuffer(&Category, &Text);
+ CopyBuffer(&Text, &Category);
}
*Text.Ptr = '\0';
- CopyBuffer(&Text, &Annotation);
+ CopyBuffer(&Annotation, &Text);
CopyStringToBuffer(&Annotation, "
\n"
"
\n"
"
%s",
Anno->time);
- CopyBuffer(&Text, &Annotation);
+ CopyBuffer(&Annotation, &Text);
CopyStringToBuffer(&Annotation, "
\n"
"
\n"
@@ -521,13 +562,13 @@ Anno->time);
"
%s",
Anno->time);
- CopyBuffer(&Text, &Annotation);
+ CopyBuffer(&Annotation, &Text);
CopyStringToBuffer(&Annotation, "
\n"
"