summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/Audio.m4
blob: 722a2434d8a0292a2c40abf16089634e50608035 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
.PS
# `Audio.m4'
cct_init

define(`In123',`
thinlines_
     arrow <- from `$1'.In1 up 0.05 left 0.15
     "{\sl In1}sp_" rjust above
     arrow <- left 0.15 from `$1'.In2
     "{\sl In2}sp_" wid 0.2 rjust
     arrow <- from `$1'.In3 down 0.05 left 0.15
     "{\sl In3}sp_" rjust below
thicklines_ ')

L:[
  [
  S: speaker
  `"\tt speaker"' at S.s+(0,-0.2) #below
  In123(S)
  thinlines_
     arrow <- from S.In4 left 0.05 up 0.15
     "{\sl In4}" above rjust
     arrow <- from S.In5 right 0.05 up 0.15
     "{\sl In5}" above
     arrow <- from S.In6 left 0.05 down 0.15
     "{\sl In6}" below rjust
     arrow <- from S.In7 right 0.05 down 0.15
     "{\sl In7}" below
     spline <- from S.Box.e+(0,0.05) right 0.27 up 0.10 \
      then right 0.1 up 0.2
     "\sl Box" above
  thicklines_
  ]
[
  H: speaker(,,H)
  `"\tt speaker(,{,}H)"' at H.s+(0,-0.30) #below
  ] with .sw at last [].se+(0.25,-0.1)
  ]
[
  B: bell
  `"\tt bell"' at B.s+(0,-0.2) #below
  In123(B)
  thinlines_
  arrow <- from B.Box.n+(-0.1,0) up 0.15 left 0.1 ; "\sl Box" above
  arrow <- from B.Circle.n up 0.15 ; "\sl Circle" above
  thicklines_
  ] with .w at last [].e+(0.0,0.5)
[
  M: microphone
  `"\tt microphone"' at M.s+(0,-0.2) #below
  In123(M)
  thinlines_
  arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above
  thicklines_
  ] with .sw at last [].se+(0.4,0)
[
  Z: buzzer
  `"\tt buzzer"' at Z.s+(0,-0.2) #below
  In123(Z)
  thinlines_
  arrow <- from Z.Box.n up 0.15 ; "\sl Box" above
  thicklines_
  ] with .sw at last [].se+(0.4,0)
R:[
  Z: buzzer(,,C)
  `"\tt buzzer(,{,}C)"' at Z.s+(0,-0.2) #below
  In123(Z)
  thinlines_
  spline <- from 0.8<Z.Face.s,Z.Face.n> right 2*arrowht up 0.5*arrowht \
    then up 0.15 right 0.05 
    "\sl Face" above
  thicklines_
  ] with .sw at last [].se+(0.4,0)
[[
  E: earphone
  `"\tt earphone"' at E.s+(0,-0.2) #below
  In123(E)
  thinlines_
  arrow <- from E.Box.n up 0.15 left 0.15 ; "\sl Box" above
  thicklines_
  ]
 [
  E: earphone(,,C)
  `"\tt earphone(,{,}C)"' at E.s+(0,-0.2) #below
  thinlines_
  arrow <- from E.L up 0.15 left 0.15; "\sl L" rjust
  arrow <- from E.R up 0.15 right 0.15; "\sl R" ljust
  "\sl N" at E.N above
  "\sl C" at E.C
  thicklines_
  ] with .sw at last [].se+(0.6,0)
] with .n at (0.6 between L and R, R.s)+(0,0.1-ifdpic(0.2,0.25))

.PE