The Joy of Dissecting Weave - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

The Joy of Dissecting Weave

Description:

import jm.music.data.*; import jm.JMC; import jm.util.*; import jm.music.tools. ... a1.showFromMeOn(JMC.PIANO); //case amount to skip = 1 ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 15
Provided by: dawnf7
Category:
Tags: dissecting | joy | weave

less

Transcript and Presenter's Notes

Title: The Joy of Dissecting Weave


1
The Joy of Dissecting Weave
  • Dawn Finney

2
Creating Useful SongNodes
  • Introducing the SongNodes
  • Creating the SongNodes
  • Creating a List to Work With

3
Coding the SongNodes
Within the SongPhrase class //code for
a1 static public Phrase A1() double
phrasedata JMC.A1,JMC.EN,JMC.A1,JMC.EN,JMC.A
1,JMC.EN,JMC.A1,JMC.EN Phrase myPhrase
new Phrase() myPhrase.addNoteList(phrase
data) return myPhrase //code for
dg5 static public Phrase DG5() double
phrasedata JMC.G5,JMC.EN,JMC.G5,JMC.EN,JMC.G
5,JMC.EN,JMC.G5,JMC.DEN Phrase myPhrase
new Phrase() myPhrase.addNoteList(phra
sedata) return myPhrase //code for
c2 static public Phrase C2() double
phrasedata JMC.C2,JMC.EN,JMC.C2,JMC.EN,JMC.C
2,JMC.EN,JMC.C2,JMC.DEN Phrase
myPhrase new Phrase()
myPhrase.addNoteList(phrasedata) return
myPhrase
4
Introducing the SongNodes
a1
dg5
c2
Distinct SongNodes will make it easier to see how
weave works.
5
Creating the SongNodes
  • SongNode a1 new SongNode()
  • a1.setPhrase(SongPhrase.A1())
  • SongNode dg5 new SongNode()
  • dg5.setPhrase(SongPhrase.DG5())
  • SongNode c2 new SongNode()
  • c2.setPhrase(SongPhrase.C2())

6
Creating a List to Work With
a1.repeatNextInserting(dg5, 5)
7
Dissection
  • Analyzing the Inputs
  • Cases

8
Analyzing the Inputs
9
Case skip amount 0
a1.weave(c2, 2, 0)
10
Case skip amount 1
a1.weave(c2, 2, 1)
Surprisingly a1.weave(c2, 2, 0) or
a1.weave(c2, 2, 1) will yield the same result.
11
Case skip amount gt2
a1.weave(c2, 2, 2)
Weave actually works fairly normally with cases
with the skip amount is greater 2
12
Case the list is too short
a1.weave(c2, 2, 4)
I do not think it is possible to draw any
conclusions until we see another case.
13
Case the list is too short again
a1.weave(c2, 2, 8)
So when the list is too short to accommodate the
amount we want to skip, it will do what it can
(like in the previous case) and then insert the
node at the end of list regardless of the amount
we wanted to skip or the number of times we
wanted to weave the node into the list.
14
The Code
  • import jm.music.data.
  • import jm.JMC
  • import jm.util.
  • import jm.music.tools.
  • public class tester
  • public static void main(Stringargs)
  • SongNode a1 new SongNode()
  • a1.setPhrase(SongPhrase.A1())
  • SongNode dg5 new SongNode()
  • dg5.setPhrase(SongPhrase.DG5())
  • SongNode c2 new SongNode()
  • c2.setPhrase(SongPhrase.C2())
  • a1.repeatNextInserting(dg5, 5)
  • a1.showFromMeOn(JMC.PIANO) //show original
    list
  • //case amount to skip 0
  • a1.weave(c2, 2, 0)
  • a1.showFromMeOn(JMC.PIANO)
  • //case amount to skip 1
  • a1.repeatNext(dg5, 5) //resets the list to
    the original
Write a Comment
User Comments (0)
About PowerShow.com