Browse Source

added beginning of droner object. Still no audio just to test performance on remote server

master
suroh 2 years ago
parent
commit
9212281631
15 changed files with 787 additions and 12 deletions
  1. +33
    -1
      nodeJS/performer/index.js
  2. +3
    -0
      nodeJS/performer/public/index.html
  3. +31
    -0
      nodeJS/performer/public/js/Droner.js
  4. +9
    -0
      nodeJS/performer/public/js/Instrument.js
  5. +51
    -11
      nodeJS/performer/public/js/client.js
  6. BIN
      printouts/im.pro.vise.pdf
  7. +178
    -0
      printouts/im.pro.vise.svg
  8. BIN
      printouts/improvisation.pdf
  9. +149
    -0
      printouts/improvisation.svg
  10. BIN
      printouts/maskWall.pdf
  11. +113
    -0
      printouts/maskWall.svg
  12. BIN
      printouts/maskWall_2.pdf
  13. +113
    -0
      printouts/maskWall_2.svg
  14. BIN
      printouts/maskWall_3.pdf
  15. +107
    -0
      printouts/maskWall_3.svg

+ 33
- 1
nodeJS/performer/index.js View File

@ -44,18 +44,24 @@ io.sockets.on('connection', newConnection)
// function for socket.io connections
function newConnection(socket) {
console.log(socket.id + ' connected')
// Currently playing orchestra sent to new members
io.sockets.connected[socket.id].emit('orchestra', orchestra)
// New orchestra member created on connection
orchestra[socket.id] = { mover: {} }
// Send the new member to already connected members
socket.broadcast.emit('newClient', { socket: socket.id })
// New moved added to the orchstra
socket.on('newMover', (data) => {
orchestra[socket.id].mover[data.c] = {
x: data.x,
y: data.y
}
// Send the new ochestra mover to other members
socket.broadcast.emit('colleagueInit', {
socket: socket.id,
c: data.c,
@ -64,24 +70,34 @@ function newConnection(socket) {
})
})
// Ochestra member movement received
socket.on('moverMovement', (data) => {
orchestra[socket.id].mover[data.c].x = data.x
orchestra[socket.id].mover[data.c].y = data.y
// OSC messages of movers
udpPort.send({
address: "/coords",
address: "/mover",
args: [
{
// Controller index
type: "i",
value: data.c
},
{
// X-Coords
type: "f",
value: data.x
},
{
// Y-Coords
type: "f",
value: data.y
}
]
}, oscClient, 57110)
// Send orchestra movers coords
socket.broadcast.emit('colleagueMovers', {
socket: socket.id,
c: data.c,
@ -90,6 +106,22 @@ function newConnection(socket) {
})
})
// When a new note is created
socket.on('newNote', (data) => {
if (!orchestra[socket.id].instrument) {
orchestra[socket.id].instrument = { type: data.type, points: []}
}
orchestra[socket.id].instrument.points = data.points
socket.broadcast.emit('noteUpdate', {
socket: socket.id,
c: data.c,
currPoint: data.currPoint,
x: data.points[data.currPoint].x,
y: data.points[data.currPoint].y
})
})
// DISCONNECTION
socket.on('disconnect', () => {
console.log(socket.id + ' disconnected.')

+ 3
- 0
nodeJS/performer/public/index.html View File

@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="styles/main.css">
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script type="text/javascript" src="js/Mover.js"></script>
<script type="text/javascript" src="js/Instrument.js"></script>
<script type="text/javascript" src="js/Droner.js"></script>
</head>
<body>

+ 31
- 0
nodeJS/performer/public/js/Droner.js View File

@ -0,0 +1,31 @@
class Droner {
constructor(_ctx, _x, _y, _v, _cr, _cg, _cb, _ca) {
// canvas Context
this.ctx = _ctx
// points
this.x = _x
this.y = _y
// colour
this.cr = _cr
this.cg = _cg
this.cb = _cb
this.ca = _ca
}
// static distance function
static distance(a, b) {
const dx = a.x - b.x
const dy = a.y - b.y
return Math.hypot(dx, dy)
}
// Draw points on screen
draw() {
this.ctx.fillStyle = this.color
this.ctx.fillRect(this.x - 2.5, this.y - 2.5, 5, 5)
this.ctx.save()
}
}

+ 9
- 0
nodeJS/performer/public/js/Instrument.js View File

@ -0,0 +1,9 @@
class Instrument {
constructor(_ctx) {
}
build() {
}
}

+ 51
- 11
nodeJS/performer/public/js/client.js View File

@ -38,11 +38,9 @@ function map(num, in_min, in_max, out_min, out_max) {
// Deadzone for Analogue Sticks
let applyDeadzone = function(number, threshold){
percentage = (Math.abs(number) - threshold) / (1 - threshold)
if (percentage < 0) {
percentage = 0
}
return percentage * (number > 0 ? 1 : -1)
}
@ -79,9 +77,6 @@ function controllerInit(event, connecting) {
console.log("Gamepad " + gamepad.index + " has disconnected")
}
// Setup of various performers specific objects
newFrame(updateStatus)
}
@ -96,9 +91,10 @@ function updateStatus() {
if (gamepad.buttons[3].prePress != gamepad.buttons[3].pressed) {
// adds new mover and marks object to array
performers[p].mover = new Mover(canvasArea.context, canvasArea.canvas.width/2, canvasArea.canvas.height/2)
socket.emit('newMover', {
c: p,
i: "Mark",
x: performers[p].mover.x,
y: performers[p].mover.y
})
@ -113,7 +109,19 @@ function updateStatus() {
// PlayStation key: X (buttton 14 debian, 0 manjaro)
if (gamepad.buttons[14].pressed) {
if (gamepad.buttons[14].prePress != gamepad.buttons[14].pressed) {
console.log('X pressed')
mover.trigger(mover.x, mover.y)
if (!performers[p].instrument) {
performers[p].instrument = { type: "Droner", maxPnts: 5, currPoint: 0, points: []}
}
performers[p].instrument.points[performers[p].instrument.currPoint] = new Droner(canvasArea.context, mover.x, mover.y)
// SOCKET EMIT NEW NOTE
socket.emit('newNote', { type: performers[p].instrument.type, currPoint: performers[p].instrument.currPoint, points: performers[p].instrument.points })
performers[p].instrument.currPoint++
performers[p].instrument.currPoint %= performers[p].instrument.maxPnts
}
gamepad.buttons[14].prePress = true
} else {
@ -212,6 +220,11 @@ function updateCanvas() {
performers[p].mover.draw()
performers[p].mover.move()
}
if (performers[p].instrument) {
for (i in performers[p].instrument.points) {
performers[p].instrument.points[i].draw()
}
}
}
if (colleagues) {
@ -222,6 +235,13 @@ function updateCanvas() {
colleagues[c].mover[p].move()
}
}
if (colleagues[c].instrument) {
for (i in colleagues[c].instrument.points) {
colleagues[c].instrument.points[i].draw()
}
}
}
}
@ -235,33 +255,53 @@ window.onload = function() {
// SOCKET LISTENERS
// Joining an orchestra
// Joining an orchestra (receiving already created data)
socket.on('orchestra', (data) => {
for (o in data) {
colleagues[o] = { mover: {} }
for (p in data[o].mover) {
colleagues[o].mover[p] = new Mover(canvasArea.context, data[o].mover[p].x, data[o].mover[p].y)
colleagues[o].mover[p] = new Mover(canvasArea.context, data[o].mover[p].x, data[o].mover[p].y)
if (data[o].instrument) {
console.log(data[o].instrument)
colleagues[o].instrument = data[o].instrument
for (i in data[o].instrument.points) {
colleagues[o].instrument.points[i] = new Droner(canvasArea.context, data[o].instrument.points[i].x, data[o].instrument.points[i].y)
}
}
}
}
})
// A new orchestra member
// A new orchestra member just joined
socket.on('newClient', (data) => {
colleagues[data.socket] = { mover: {} }
console.log("Your colleague " + data.socket + " just connected.")
})
// Ochestra member is created on the canvas
socket.on('colleagueInit', (data) => {
colleagues[data.socket].mover[data.c] = new Mover(canvasArea.context, data.x, data.y)
console.log(colleagues[data.socket])
})
// Orchestra member is moving around
socket.on('colleagueMovers', (data) => {
colleagues[data.socket].mover[data.c].x = data.x
colleagues[data.socket].mover[data.c].y = data.y
})
// Diconnection
socket.on('noteUpdate', (data) => {
console.log(data)
if (!colleagues[data.socket].instrument.points[data.currPoint]) {
colleagues[data.socket].instrument.points[data.currPoint] = new Droner(canvasArea.context, data.x, data.y)
} else {
colleagues[data.socket].instrument.points[data.currPoint].x = data.x
colleagues[data.socket].instrument.points[data.currPoint].y = data.y
}
})
// Ochestra member has disconnected
socket.on('disClient', (data) => {
delete colleagues[data.socket]
console.log('Colleague ' + data.socket + " disconnected.")

BIN
printouts/im.pro.vise.pdf View File


+ 178
- 0
printouts/im.pro.vise.svg View File

@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="480mm"
height="684mm"
viewBox="0 0 480 684"
version="1.1"
id="svg8"
inkscape:version="0.92.2 2405546, 2018-03-11"
sodipodi:docname="im.pro.vise.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.24748737"
inkscape:cx="1932.7578"
inkscape:cy="982.44225"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
height="684mm"
inkscape:showpageshadow="false"
borderlayer="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1053"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0">
<sodipodi:guide
position="30.000001,0"
orientation="1,0"
id="guide46"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="450.00001,401.97338"
orientation="1,0"
id="guide48"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0,45.000001"
orientation="0,1"
id="guide50"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0,639.00001"
orientation="0,1"
id="guide52"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,387)">
<flowRoot
xml:space="preserve"
id="flowRoot18-3"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:133.33332825px;line-height:1;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,1.425103,-201.63121)"><flowRegion
id="flowRegion20-0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:133.33332825px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"><rect
id="rect22-1"
width="1586.2863"
height="289.20715"
x="109.11496"
y="116.3756"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:133.33332825px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
ry="0" /></flowRegion><flowPara
id="flowPara36-7"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">To make, compose, or perform with little or no preparation.</flowPara></flowRoot> <text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="23.250196"
y="-257.93475"
id="text12-8"><tspan
sodipodi:role="line"
id="tspan10-9"
x="23.250196"
y="-257.93475"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:67.02777863px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">im·pro·vise</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="30.252834"
y="-205.69397"
id="text106"><tspan
sodipodi:role="line"
id="tspan104"
x="30.252834"
y="-205.69397"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.33333206px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">ĭm′prə-vīz′</tspan></text>
<flowRoot
xml:space="preserve"
id="flowRoot18-3-3"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;line-height:1.10000002;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,-0.88312728,-100.32845)"><flowRegion
id="flowRegion20-0-5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"><rect
id="rect22-1-7"
width="1587.4016"
height="1365.2595"
x="116.72363"
y="116.3756"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
ry="0" /></flowRegion><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara142">At best, to improvise a meal for unexpected guests with what you have at hand. </flowPara><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara150" /><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara152" /></flowRoot> <flowRoot
xml:space="preserve"
id="flowRoot18-3-3-5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;line-height:1.10000002;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,-1.6927514,-11.831535)"><flowRegion
id="flowRegion20-0-5-5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"><rect
id="rect22-1-7-0"
width="1587.4016"
height="1365.2595"
x="116.72363"
y="116.3756"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
ry="0" /></flowRegion><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara138" /><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara142-1">At worst, a weapon fashioned with limited materials in the form of an I.E.D : Improvised Explosive Device. </flowPara><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara150-2" /><flowPara
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="flowPara152-6" /></flowRoot> <flowRoot
xml:space="preserve"
id="flowRoot204"
style="fill:black;fill-opacity:1;stroke:none;font-family:'Libertinus Serif';font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:'Libertinus Serif, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal"><flowRegion
id="flowRegion206"><rect
id="rect208"
width="1587.4016"
height="507.06412"
x="113.38583"
y="1908.054" /></flowRegion><flowPara
id="flowPara210"></flowPara></flowRoot> </g>
</svg>

BIN
printouts/improvisation.pdf View File


+ 149
- 0
printouts/improvisation.svg View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="480mm"
height="684mm"
viewBox="0 0 480 684"
version="1.1"
id="svg8"
inkscape:version="0.92.2 2405546, 2018-03-11"
sodipodi:docname="improvisation.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.175"
inkscape:cx="1017.6792"
inkscape:cy="1225.3287"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
height="684mm"
inkscape:showpageshadow="false"
borderlayer="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1053"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0">
<sodipodi:guide
position="30.000001,0"
orientation="1,0"
id="guide46"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="450.00001,401.97338"
orientation="1,0"
id="guide48"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0,45.000001"
orientation="0,1"
id="guide50"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0,639.00001"
orientation="0,1"
id="guide52"
inkscape:locked="true"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,387)">
<flowRoot
xml:space="preserve"
id="flowRoot204"
style="fill:black;fill-opacity:1;stroke:none;font-family:'Libertinus Serif';font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:'Libertinus Serif, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal"><flowRegion
id="flowRegion206"><rect
id="rect208"
width="1587.4016"
height="507.06412"
x="113.38583"
y="1908.054" /></flowRegion><flowPara
id="flowPara210"></flowPara></flowRoot> <text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="22.353489"
y="-300.71402"
id="text12"><tspan
sodipodi:role="line"
id="tspan10"
x="22.353489"
y="-300.71402"
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:67.02777863px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">improvisation</tspan></text>
<flowRoot
xml:space="preserve"
id="flowRoot18"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:133.33332825px;line-height:1.10000002;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00000a;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,-1.8747041,-253.08319)"><flowRegion
id="flowRegion20"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:133.33332825px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#00000a;fill-opacity:1"><rect
id="rect22"
width="1587.4016"
height="1210.744"
x="120.47134"
y="775.00342"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:133.33332825px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#00000a;fill-opacity:1" /></flowRegion><flowPara
id="flowPara36"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#00000a;fill-opacity:1">Improvisation is open to all. It has the potential to liberate oneself from impositions as imposed by internal and external forces. An improviser must go fragile until they destroy the fears that hold us back. </flowPara></flowRoot> <text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.80555725px;line-height:1.25;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="30.011148"
y="-243.07744"
id="text12-4"><tspan
sodipodi:role="line"
id="tspan10-0"
x="30.011148"
y="-243.07744"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.80555725px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">ĭm-prŏv′ĭ-zā′shən</tspan></text>
<flowRoot
xml:space="preserve"
id="flowRoot382"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.10000002;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,0,-385.94163)"><flowRegion
id="flowRegion384"><rect
id="rect386"
width="1587.4016"
height="622.25391"
x="113.38583"
y="669.94757" /></flowRegion><flowPara
id="flowPara388"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:120px;font-family:'Libertinus Serif';-inkscape-font-specification:'Libertinus Serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">Improvisation is a method of fragility. An embracement of alternate masteries and atributions of value.</flowPara></flowRoot> </g>
</svg>

BIN
printouts/maskWall.pdf View File


+ 113
- 0
printouts/maskWall.svg
File diff suppressed because it is too large
View File


BIN
printouts/maskWall_2.pdf View File


+ 113
- 0
printouts/maskWall_2.svg
File diff suppressed because it is too large
View File


BIN
printouts/maskWall_3.pdf View File


+ 107
- 0
printouts/maskWall_3.svg
File diff suppressed because it is too large
View File


Loading…
Cancel
Save