summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2007-02-12 05:22:48 +0000
committerDimitri Sokolyuk <demon@dim13.org>2007-02-12 05:22:48 +0000
commit694d1bbcdece91569106ef8db446b83b01071cf5 (patch)
treef1d05c9b5e18c59936637aad59dcfa25213451ab
parent5d1b123f5bf7b7ea96ae548f02a75fd4a084f6f4 (diff)
add video files
-rw-r--r--math/math.c25
-rw-r--r--math/metadb.c9
-rw-r--r--math/metadb.h3
-rw-r--r--math/readmeta.c9
4 files changed, 38 insertions, 8 deletions
diff --git a/math/math.c b/math/math.c
index a1c577a..6cbd2ed 100644
--- a/math/math.c
+++ b/math/math.c
@@ -34,7 +34,7 @@
#include "query.h"
#define SHOWNEW 5
-enum jflag { J_HTML, J_PDF, J_MWS, J_MW, J_CODE, J_EMAIL, J_IMG, J_NONE };
+enum jflag { J_HTML, J_PDF, J_MWS, J_MW, J_CODE, J_EMAIL, J_IMG, J_VIDEO, J_VIDEO_HQ, J_VIDEO_LQ, J_NONE };
char *sname;
char *datadir = "data";
@@ -154,6 +154,9 @@ pr_opts(struct meta *mp)
{ mp->mws, "MWS", "mwsicon.gif", 's', "Download Maple classic worksheet" },
{ mp->code, "CODE", "codeicon.gif", 'c', "Download Maple code" },
{ mp->email, "EMAIL", "emailicon.gif", 'e', "E-mail to a colleague" },
+ { mp->video, "VIDEO", "videoicon.gif", 'e', "View Video" },
+ { mp->video_hq, "VIDEO_HQ", "videohqicon.gif", 'e', "View HQ Video" },
+ { mp->video_lq, "VIDEO_LQ", "videolqicon.gif", 'e', "View LQ Video" },
{ NULL, NULL, NULL, 0, NULL }
};
@@ -298,13 +301,16 @@ jmp(struct meta *mp, size_t n, enum jflag jf)
while (--n)
printf("%s/", (++mp)->dir);
- p[0] = mp->html;
- p[1] = mp->pdf;
- p[2] = mp->mws;
- p[3] = mp->mw;
- p[4] = mp->code;
- p[5] = mp->email;
- p[6] = mp->img;
+ p[J_HTML] = mp->html;
+ p[J_PDF] = mp->pdf;
+ p[J_MWS] = mp->mws;
+ p[J_MW] = mp->mw;
+ p[J_CODE] = mp->code;
+ p[J_EMAIL] = mp->email;
+ p[J_IMG] = mp->img;
+ p[J_VIDEO] = mp->video;
+ p[J_VIDEO_HQ] = mp->video_hq;
+ p[J_VIDEO_LQ] = mp->video_lq;
printf("%s\n\n", p[jf]);
@@ -352,6 +358,9 @@ main(int argc, char **argv)
case 'c': jf = J_CODE; break;
case 'e': jf = J_EMAIL; break;
case 'i': jf = J_IMG; break;
+ case 'v': jf = J_VIDEO; break;
+ case 'q': jf = J_VIDEO_HQ; break;
+ case 'l': jf = J_VIDEO_LQ; break;
}
free(q);
}
diff --git a/math/metadb.c b/math/metadb.c
index ce910e3..207dd46 100644
--- a/math/metadb.c
+++ b/math/metadb.c
@@ -170,6 +170,9 @@ encode_meta(struct meta *mp, size_t *siz)
*siz += LENGTH(mp->img);
*siz += LENGTH(mp->language);
*siz += LENGTH(mp->tokens);
+ *siz += LENGTH(mp->video);
+ *siz += LENGTH(mp->video_hq);
+ *siz += LENGTH(mp->video_lq);
buf = malloc(*siz);
assert(buf);
@@ -200,6 +203,9 @@ encode_meta(struct meta *mp, size_t *siz)
PUTSTR(buf, mp->img, blen, len);
PUTSTR(buf, mp->language, blen, len);
PUTSTR(buf, mp->tokens, blen, len);
+ PUTSTR(buf, mp->video, blen, len);
+ PUTSTR(buf, mp->video_hq, blen, len);
+ PUTSTR(buf, mp->video_lq, blen, len);
return buf;
}
@@ -233,6 +239,9 @@ decode_meta(struct meta *mp, char *buf)
GETSTR(mp->img, buf, blen);
GETSTR(mp->language, buf, blen);
GETSTR(mp->tokens, buf, blen);
+ GETSTR(mp->video, buf, blen);
+ GETSTR(mp->video_hq, buf, blen);
+ GETSTR(mp->video_lq, buf, blen);
return mp;
}
diff --git a/math/metadb.h b/math/metadb.h
index c2eb069..84e9754 100644
--- a/math/metadb.h
+++ b/math/metadb.h
@@ -53,6 +53,9 @@ struct meta {
char *img;
char *language;
char *tokens;
+ char *video;
+ char *video_hq;
+ char *video_lq;
};
__BEGIN_DECLS
diff --git a/math/readmeta.c b/math/readmeta.c
index f337f1d..2586162 100644
--- a/math/readmeta.c
+++ b/math/readmeta.c
@@ -88,6 +88,9 @@ openmeta(char *fname)
kwp->key = "image"; (kwp++)->val = &mp->img;
kwp->key = "language"; (kwp++)->val = &mp->language;
kwp->key = "tokens"; (kwp++)->val = &mp->tokens;
+ kwp->key = "video"; (kwp++)->val = &mp->video;
+ kwp->key = "video_hq"; (kwp++)->val = &mp->video_hq;
+ kwp->key = "video_lq"; (kwp++)->val = &mp->video_lq;
kwp->key = NULL;
#if DEBUG
@@ -151,5 +154,11 @@ closemeta(struct meta *mp)
free(mp->code);
if (mp->tokens != NULL)
free(mp->tokens);
+ if (mp->video != NULL)
+ free(mp->video);
+ if (mp->video_hq != NULL)
+ free(mp->video_hq);
+ if (mp->video_lq != NULL)
+ free(mp->video_lq);
free(mp);
}