Browse Source

Added 'doc' directory to hold document generation files.

master
kevin 3 years ago
parent
commit
ae1384784b
10 changed files with 585 additions and 0 deletions
  1. 107
    0
      doc/cdg_cfg.json
  2. 30
    0
      doc/cdg_code.css
  3. 13
    0
      doc/cdg_code_prefix.html
  4. 3
    0
      doc/cdg_code_suffix.html
  5. 24
    0
      doc/cdg_div_cod.css
  6. 106
    0
      doc/cdg_edoc.css
  7. 6
    0
      doc/cdg_ext_anch.json
  8. 28
    0
      doc/gen_doc.sh
  9. 102
    0
      doc/libcm.pd
  10. 166
    0
      doc/style.css

+ 107
- 0
doc/cdg_cfg.json View File

@@ -0,0 +1,107 @@
1
+{
2
+  cfg :
3
+  {
4
+    // All paths and file names that do not begin with a '/'
5
+    // are prepended with the directory of this configuration
6
+    // file.
7
+    //  
8
+    // If the last char in an 'in_dir' or 'excl_dir' path is NOT a '/' 
9
+    // then the path represents all paths rooted on the given path.
10
+    // If the last char is a '/' then only the explicit path is 
11
+    // used.
12
+
13
+    // Note:if the last char in an input director path is a '/' then do not recurse
14
+    in_dir:    [  "../src/" "../src/app" "../src/dsp" ]
15
+    excl_dir:  [  ]
16
+
17
+    edoc_fn:   [ "libcm.pd" ]
18
+    html_prefix: "cdg_code_prefix.html"
19
+    html_suffix: "cdg_code_suffix.html"
20
+    anchor_fn:   "cdg_ext_anch.json"
21
+    out_dir:     "html"
22
+
23
+    vc_prefix: [
24
+      ["/home/kevin/src/libcm/doc/../src","https://gitea.currawongproject.org/cml/libcm/src/branch/master/src"]
25
+    ]
26
+    
27
+    
28
+    pandoc_exec: "/home/kevin/.local/bin/pandoc"
29
+
30
+    // Only files with these extenstions will be processed.
31
+    file_ext: [ "h","c" ]
32
+
33
+    // Exclude the following labels as anchor candidates.  
34
+    anchor_excl: [ "foo", "label", "anchor" ]
35
+    
36
+    // Set 'true' to report comments that are not attached to
37
+    // structural elements.
38
+    rptFloatCmmtFl: false
39
+
40
+    // Report if a 'ctag' generated tag could not be found.
41
+    rptMissingTagsFl: false
42
+
43
+    // Report processed files
44
+    rptProcFilesFl: false
45
+
46
+    // Report missing H files
47
+    rptMissingHFilesFl: true
48
+
49
+    // Report missing C files
50
+    rptMissingCFilesFl: false
51
+    
52
+    // Report duplicate anchors.
53
+    rptDuplAnchorsFl: false
54
+
55
+    // Maximum character count of output HTML lines
56
+    htmlMaxLineLength: 200
57
+
58
+    // Wrap Long Functions
59
+    wrapFunctionsFl: false
60
+
61
+    // Preserve space
62
+    preserveSpaceFl: true
63
+
64
+    // Link to field names
65
+    linkToFieldNamesFl: false
66
+
67
+    // Use the external anchor files from ./cdg
68
+    usePrefExtAnchorFl: false
69
+
70
+    // Run the edoc files through pandoc
71
+    runFinalPandocFl: true
72
+
73
+    // Treat all selected files which do not have block
74
+    // markers as though they are wrapped in block markers.
75
+    promiscuousModeFl: false
76
+
77
+    keyword_index:
78
+    [
79
+      [ base      "Foundation classes and API's"]
80
+      [ real_time "Real-time system classes and API's"]
81
+    ]
82
+
83
+    pandoc_args:
84
+    [
85
+      "-fmarkdown"
86
+      "-thtml5"
87
+      "--css"
88
+      "cdg_div_cod.css"
89
+      "--css"
90
+      "cdg_edoc.css"
91
+      "--css"
92
+      "style.css"
93
+      "--toc"
94
+      "--standalone"
95
+      "--number-sections"
96
+    ]
97
+
98
+    copy_files:
99
+    [
100
+      "cdg_div_cod.css"
101
+      "cdg_edoc.css"
102
+      "cdg_code.css"
103
+      "style.css"
104
+    ]  
105
+
106
+  }
107
+}

+ 30
- 0
doc/cdg_code.css View File

@@ -0,0 +1,30 @@
1
+
2
+td.linenos { background-color: #fffff0; padding-right: 10px; }
3
+span.lineno { background-color: #fffff0; padding: 0 5px 0 5px; }
4
+pre { line-height: 135%; }
5
+body .hll { background-color: #ffffff; }
6
+body  { background: #f8f8f8; }
7
+body .c { color: firebrick; font-style: italic; } /* Comment */
8
+body .k { color: #008000; font-weight: normal; } /* Keyword.Reserved */
9
+body .p { color: #666666; } /* Operator */
10
+body .f { color: #0000ff; font-weight: normal; } /* Function */
11
+body .e { color: #0000ff; font-weight: normal; } /* enum */
12
+body .m { color: #008000; font-weight: normal; } /* macro */
13
+body .t { color: #008000; font-weight: normal; } /* typedef */
14
+body .i { color: #0000ff; font-weight: normal; } /* ident */
15
+body .l { color: #660066; } /* Literal */
16
+body .u { color: #000000; }
17
+body .a {
18
+    border: 1px dotted gray;
19
+    background-color: #ececec;
20
+    color: #1111111;
21
+    padding: 0.5em;
22
+}
23
+
24
+#hr1 { height: 1;  color:#000000; background-color: #ff0000; }
25
+#hr2 { height: 4;  color:#000000; background-color: #ff0000; }
26
+
27
+.blk_title {
28
+    font-wieght: bold;
29
+    font-size: 120%;
30
+}

+ 13
- 0
doc/cdg_code_prefix.html View File

@@ -0,0 +1,13 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+
3
+<html xmlns="http://www.w3.org/1999/xhtml">
4
+  <head>
5
+    <meta name="keywords" content="" />
6
+    <meta name="description" content="" />
7
+    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
8
+    <title></title>
9
+    <link href="cdg_div_cod.css" rel="stylesheet" type="text/css" media="screen" />
10
+    <link href="cdg_code.css"    rel="stylesheet" type="text/css" media="screen" />
11
+  </head>
12
+  <body>
13
+    <div class="highlight">

+ 3
- 0
doc/cdg_code_suffix.html View File

@@ -0,0 +1,3 @@
1
+</div>
2
+</body>
3
+</html>

+ 24
- 0
doc/cdg_div_cod.css View File

@@ -0,0 +1,24 @@
1
+
2
+
3
+.cod pre .c { color: firebrick; font-weight: normal; } /* Comment */
4
+.cod pre .k { color: #008000; font-weight: normal; } /* Keyword.Reserved */
5
+.cod pre .p { color: #666666 } /* Operator */
6
+.cod pre .f { color: #000000; font-weight: normal; } /* Function */
7
+.cod pre .e { color: #000000; font-weight: normal; } /* enum */
8
+.cod pre .m { color: #008000; font-weight: normal; } /* macro */
9
+.cod pre .t { color: #008000; font-weight: normal; } /* typedef */
10
+.cod pre .i { color: #000000; font-weight: normal; } /* ident */
11
+.cod pre .l { color: #660066 } /* Literal */
12
+.cod pre .u { color: #000000 }
13
+
14
+.cod pre a:link {text-decoration:none; font-weight:500;  } 
15
+.cod pre a:visited {text-decoration:none; font-weight:500;  } 
16
+.cod pre a:hover {text-decoration:none; font-weight:700;  } 
17
+
18
+/* embedded pandoc comments */
19
+.cod pre .a {
20
+    border: 1px dotted gray;
21
+    background-color: #ececec;
22
+    color: #1111111;
23
+    padding: 0.5em;
24
+}

+ 106
- 0
doc/cdg_edoc.css View File

@@ -0,0 +1,106 @@
1
+body {
2
+    margin: auto;
3
+    padding-right: 1em;
4
+    padding-left: 1em;
5
+    max-width: 44em; 
6
+    border-left: 1px solid black;
7
+    border-right: 1px solid black;
8
+    color: black;
9
+    font-family: Verdana, sans-serif;
10
+    font-size: 100%;
11
+    line-height: 140%;
12
+    color: #333; 
13
+}
14
+pre {
15
+    border: 1px dotted gray;
16
+    background-color: #ececec;
17
+    color: #1111111;
18
+    padding: 0.5em;
19
+}
20
+code {
21
+    font-family: monospace;
22
+    line-height: 115%
23
+}
24
+h1 a, h2 a, h3 a, h4 a, h5 a { 
25
+    text-decoration: none;
26
+    color: #424242; 
27
+}
28
+h1, h2, h3, h4, h5 { font-family: verdana;
29
+                     font-weight: bold;
30
+                     color: #424242; }
31
+h1 {
32
+        font-size: 150%;
33
+        border-bottom: 3px solid black;
34
+}
35
+
36
+h2 {
37
+        font-size: 110%;
38
+        border-bottom: 1px solid black;
39
+}
40
+
41
+h3 {
42
+        font-size: 90%;
43
+        border-bottom: 1px dotted black;
44
+
45
+}
46
+
47
+h4 {
48
+        font-size: 80%;
49
+        font-style: italic;
50
+}
51
+
52
+h5 {
53
+        font-size: 80%;
54
+        font-style: italic;
55
+}
56
+
57
+table {
58
+    width: 100%;
59
+    background-color: #acacac;
60
+    text-align:left;    
61
+}
62
+
63
+table .odd {
64
+    background-color: #fcfcfc;
65
+}
66
+
67
+table  .even {
68
+    background-color: #ececec;
69
+}
70
+
71
+
72
+h1.title {
73
+        font-size: 200%;
74
+        font-weight: bold;
75
+        padding-top: 0.2em;
76
+        padding-bottom: 0.2em;
77
+        text-align: left;
78
+        border: none;
79
+}
80
+
81
+dt code {
82
+        font-weight: bold;
83
+}
84
+dd p {
85
+        margin-top: 0;
86
+}
87
+
88
+#footer {
89
+        padding-top: 1em;
90
+        font-size: 70%;
91
+        color: gray;
92
+        text-align: center;
93
+        }
94
+
95
+/* specify the height of example blocks (<pre>'s inside of <div class="cod">) */
96
+.cod pre 
97
+{
98
+    line-height: 115%;
99
+}
100
+
101
+/* control the kw index label column width */
102
+.kw_label_col {
103
+    width:200px; 
104
+    max-width:200px;
105
+    min-width:200px; 
106
+}

+ 6
- 0
doc/cdg_ext_anch.json View File

@@ -0,0 +1,6 @@
1
+{
2
+  anchors: 
3
+  [
4
+    { label: "Pandoc"  anchor:"http://johnmacfarlane.net/pandoc/README.html" }
5
+  ]
6
+}

+ 28
- 0
doc/gen_doc.sh View File

@@ -0,0 +1,28 @@
1
+
2
+# switches: -E : Stop after preprocess
3
+#           -C : Do not strip comments.
4
+#           -P : Do not generate line markers
5
+#           -traditional-cpp : preserve white space
6
+
7
+# run the pre-processor to generate the vector ops documentation
8
+gcc -E -C -P -traditional-cpp -o temp.h ../src/vop/cmVectOpsDoc.h
9
+
10
+# The --traditional-cpp switch prevents the 'stringizing' 
11
+# C pre-proc direcive from working this leaves '##_' tokens
12
+# which need to be replaced by '_'
13
+# replace '_##` with '_'
14
+sed 's/\(_##\)/_/g' temp.h > temp1.h
15
+
16
+# Remove header text generated by gcc.
17
+# sed '/\/\*/,/\/\/end_cut/{#!d}' temp.h
18
+sed '/\/\*/,/\/\/end_cut/{//!d;};' temp1.h > temp2.h
19
+
20
+# Remove the first two lines.
21
+tail -n +3 temp2.h > ../src/cmVectOpsDocOut.h
22
+
23
+rm -f temp.h
24
+rm -f temp1.h
25
+rm -f temp2.h
26
+
27
+# Run the doc generator
28
+#cdg -c cdg_cfg.json -o ~/temp/doc_libcm

+ 102
- 0
doc/libcm.pd View File

@@ -0,0 +1,102 @@
1
+% _libcm_ Reference Documentation
2
+%
3
+
4
+Prerequisites:
5
+==============
6
+
7
+Fedora:
8
+`sudo dnf install fftw fftw-devel atlas atlas-devel alsa-lib alsa-lib-devel`
9
+
10
+
11
+
12
+_cm_ Classes And API's
13
+======================
14
+
15
+### Foundation classes used throughout the _cm_ library.
16
+
17
+{$cdg_kw_list_cdg base}
18
+
19
+### Audio related classes.
20
+
21
+{$cdg_kw_list_cdg audio}
22
+
23
+### MIDI related classes.
24
+
25
+{$cdg_kw_list_cdg midi}
26
+
27
+### File readers and writers.
28
+{$cdg_kw_list_cdg file}
29
+
30
+### Text processing related classes.
31
+{$cdg_kw_list_cdg text}
32
+
33
+### Container related classes.
34
+{$cdg_kw_list_cdg container}
35
+
36
+### Math related classes.
37
+{$cdg_kw_list_cdg math}
38
+
39
+### Vector operations
40
+{$cdg_kw_list_cdg vop}
41
+
42
+### Multi-threading and parallel processing.
43
+{$cdg_kw_list_cdg parallel}
44
+
45
+### Data network related classes.
46
+{$cdg_kw_list_cdg network}
47
+
48
+### Operating system interface classes.
49
+{$cdg_kw_list_cdg system}
50
+
51
+### Clock and time related classes.
52
+{$cdg_kw_list_cdg time}
53
+
54
+### Real-time processing related classes
55
+{$cdg_kw_list_cdg rt}
56
+
57
+### Signal analysis related classes
58
+{$cdg_kw_list_cdg analysis}
59
+
60
+### Plotting related classes.
61
+{$cdg_kw_list_cdg plot}
62
+
63
+### Demo functions.
64
+{$cdg_kw_list_cdg demo}
65
+
66
+### 'proc' library modules.
67
+{$cdg_kw_list_cdg proclib}
68
+
69
+### 'proc' classes.
70
+{$cdg_kw_list_cdg proc}
71
+
72
+### Modeling related classes.
73
+{$cdg_kw_list_cdg model}
74
+
75
+### Improved real-time system.
76
+{$cdg_kw_list_cdg rtsys}
77
+
78
+### _fluxo_ related classes.
79
+{$cdg_kw_list_cdg fluxo}
80
+
81
+### _GUTIM_ related classes.
82
+{$cdg_kw_list_cdg gutim}
83
+
84
+### Musical score related classes
85
+{$cdg_kw_list_cdg score}
86
+
87
+### Sequencer related classes
88
+{$cdg_kw_list_cdg seq}
89
+
90
+### Dataflow system classes.
91
+{$cdg_kw_list_cdg snap}
92
+
93
+### Dataflow processesing units.
94
+{$cdg_kw_list_cdg sunit}
95
+
96
+### Dataflow built-in programs
97
+{$cdg_kw_list_cdg spgm}
98
+
99
+File List
100
+=========
101
+
102
+{$cdg_file_list_cdg}

+ 166
- 0
doc/style.css View File

@@ -0,0 +1,166 @@
1
+body {
2
+    margin: auto;
3
+    padding-right: 1em;
4
+    padding-left: 1em;
5
+    max-width: 55em; 
6
+    border-left: 1px solid black;
7
+    border-right: 1px solid black;
8
+    color: black;
9
+    background: #F8F5EC;
10
+    font-family: Arial, Helvetica, sans-serif;
11
+    font-size: 90%;
12
+    font-weight: normal
13
+    line-height: 100%;
14
+    
15
+    color: #333333; 
16
+}
17
+pre {
18
+    border: 1px dotted gray;
19
+    background-color: #ececec;
20
+    color: #1111111;
21
+    padding: 0.5em;
22
+}
23
+code {
24
+    font-family: monospace;
25
+    line-height: 100%;
26
+}
27
+h1 a, h2 a, h3 a, h4 a, h5 a { 
28
+    text-decoration: none;
29
+    color: #660000; 
30
+}
31
+h1, h2, h3, h4, h5 { font-family: verdana;
32
+                     font-weight: bold;
33
+                     color: #660000; }
34
+h1 {
35
+        font-size: 100%;
36
+        border-bottom: 1px solid black;
37
+}
38
+
39
+h2 {
40
+    font-size: 100%;
41
+    color:$660000;
42
+
43
+}
44
+
45
+h3 {
46
+        font-size: 95%;
47
+}
48
+
49
+h4 {
50
+        font-size: 90%;
51
+        font-style: italic;
52
+}
53
+
54
+h5 {
55
+        font-size: 90%;
56
+        font-style: italic;
57
+}
58
+
59
+h1.title {
60
+        font-size: 200%;
61
+        font-weight: bold;
62
+        padding-top: 0.2em;
63
+        padding-bottom: 0.2em;
64
+        text-align: left;
65
+        border: none;
66
+}
67
+
68
+dt code {
69
+        font-weight: bold;
70
+}
71
+dd p {
72
+        margin-top: 0;
73
+}
74
+
75
+#footer {
76
+        padding-top: 1em;
77
+        font-size: 70%;
78
+        color: gray;
79
+        text-align: center;
80
+}
81
+
82
+table {
83
+    width: 100%;
84
+    background-color: #acacac;
85
+    text-align:left;    
86
+}
87
+
88
+table .odd {
89
+    background-color: #f7f7f7;
90
+}
91
+
92
+table  .even {
93
+    background-color: #ececec;
94
+}
95
+
96
+a:link {    color:inherit; font-weight:bold; text-decoration: none; }
97
+a:active {  color:inherit; font-weight:bold; text-decoration: none; }
98
+a:visited { color:inherit; font-weight:bold; text-decoration: none; }
99
+a:hover {   color:inherit; font-weight:bold; text-decoration: none; }
100
+
101
+td.linenos { background-color: #f0f0f0; padding-right: 10px; }
102
+span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
103
+pre { line-height: 125%; }
104
+span.hll { background-color: #ffffcc }
105
+
106
+span.c { color: #008800; font-style: italic } /* Comment */
107
+span.err { border: 1px solid #FF0000 } /* Error */
108
+span.k { color: #AA22FF; font-weight: normal } /* Keyword */
109
+span.o { color: #666666 } /* Operator */
110
+span.cm { color: #FF0000; font-style: italic } /* Comment.Multiline */
111
+span.cp { color: #8000FF } /* Comment.Preproc */
112
+span.c1 { color: #FF0000; font-style: italic } /* Comment.Single */
113
+span.cs { color: #FF0000; font-weight: bold } /* Comment.Special */
114
+span.gd { color: #A00000 } /* Generic.Deleted */
115
+span.ge { font-style: italic } /* Generic.Emph */
116
+span.gr { color: #FF0000 } /* Generic.Error */
117
+span.gh { color: #000080; font-weight: bold } /* Generic.Heading */
118
+span.gi { color: #00A000 } /* Generic.Inserted */
119
+span.go { color: #808080 } /* Generic.Output */
120
+span.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
121
+span.gs { font-weight: bold } /* Generic.Strong */
122
+span.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
123
+span.gt { color: #0040D0 } /* Generic.Traceback */
124
+span.kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
125
+span.kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
126
+span.kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
127
+span.kp { color: #AA22FF } /* Keyword.Pseudo */
128
+span.kr { color: #008800; font-weight: normal } /* Keyword.Reserved */
129
+span.kt { color: #008800; font-weight: normal } /* Keyword.Type */
130
+span.m { color: #666666 } /* Literal.Number */
131
+span.s { color: #BB4444 } /* Literal.String */
132
+span.na { color: #BB4444 } /* Name.Attribute */
133
+span.nb { color: #AA22FF } /* Name.Builtin */
134
+span.nc { color: #0000FF } /* Name.Class */
135
+span.no { color: #DF3A01 } /* Name.Constant */
136
+span.nd { color: #AA22FF } /* Name.Decorator */
137
+span.ni { color: #999999; font-weight: bold } /* Name.Entity */
138
+span.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
139
+span.nf { color: #0000FF } /* Name.Function */
140
+span.nl { color: #A0A000 } /* Name.Label */
141
+span.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
142
+span.nt { color: #008000; font-weight: bold } /* Name.Tag */
143
+span.nv { color: #B8860B } /* Name.Variable */
144
+span.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
145
+span.w { color: #bbbbbb } /* Text.Whitespace */
146
+span.mf { color: #666666 } /* Literal.Number.Float */
147
+span.mh { color: #666666 } /* Literal.Number.Hex */
148
+span.mi { color: #666666 } /* Literal.Number.Integer */
149
+span.mo { color: #666666 } /* Literal.Number.Oct */
150
+span.sb { color: #BB4444 } /* Literal.String.Backtick */
151
+span.sc { color: #BB4444 } /* Literal.String.Char */
152
+span.sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
153
+span.s2 { color: #BB4444 } /* Literal.String.Double */
154
+span.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
155
+span.sh { color: #BB4444 } /* Literal.String.Heredoc */
156
+span.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
157
+span.sx { color: #008000 } /* Literal.String.Other */
158
+span.sr { color: #BB6688 } /* Literal.String.Regex */
159
+span.s1 { color: #BB4444 } /* Literal.String.Single */
160
+span.ss { color: #B8860B } /* Literal.String.Symbol */
161
+span.bp { color: #AA22FF } /* Name.Builtin.Pseudo */
162
+span.vc { color: #B8860B } /* Name.Variable.Class */
163
+span.vg { color: #B8860B } /* Name.Variable.Global */
164
+span.vi { color: #B8860B } /* Name.Variable.Instance */
165
+span.il { color: #666666 } /* Literal.Number.Integer.Long */
166
+

Loading…
Cancel
Save