All entries for Saturday 17 November 2007

November 17, 2007

Some designing of PSALM Increment One

Slightly overdue (I mean overdue in going onto this blog), here's some of the more interesting design work done for the first increment of PSALM.

PSALM - First module diagram

First, the  component/module relationships. Please be aware that this is not in any kind of standard notation, but is actually just a tidied representation of what I have written be hand in my grand A4 pad of joy. The key should at the top-right should explain the crazy colour scheme. The arrows give a basic idea of relationships. So, for example, the GUI (which is circular in the diagram for no real reason other than most operations run through it) calls the DB (database) Bridge component. The little arrows under some of the components just highlight some of the more important functions or sub-components.

I have named these 'components' because they won't necessarily constitute modules. If anything, each block is more like a 'part' of the program. So the external XML database is included on the diagram, as is the Setlist object class. I will also point out at this stage that this design is just a starting point that is likely to need refinement. This first increment is about getting something built that will be functional to stimulate further thought and then work. 

Next, we have a plan for the layout of the XML database:

<song title="..." writer="..." date="..." basekey="..." capokey="..." ...>
<verse no="..."> | <chorus> | <prechorus> | <bridge> | <tag>
Lyrics go here, [C] chords go in sqaure brackets [Em]
[D/F#] Sometimes chords mig[G]ht be in awkward places. [C] [G]
</verse> | </chorus> | </prechorus> | </bridge> | </tag>
...insert more songs here!

Hopefully that gives you an idea. Additional imformation can be stored in the song tag, such as theme, quick reference or songbook information. This is not so important for this increment of the program.

For a better example, take a look at this code snippet: songs-nocopyright.xml. You may find it simpler to view this file in a text editor by saving it first rather loading it directly in your browser.

Again, this is just an example, which won't necessarily be used exactly like this in the final implementation. 

November 2007

Mo Tu We Th Fr Sa Su
Oct |  Today  | Dec
         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      

Search this blog

Blog archive


Most recent comments

  • Congrats for ur final report,, I dinn have ne problem veiwing the report, its seems to be gud,, ..! … by Veda Informatics on this entry
  • By the way, if you have any problems with viewing the report, or in using PSALM, please still let me… by on this entry
  • It appears that when I tested PSALM, the computer that I tested it on already had the Bitstream Vera… by on this entry
  • Ah… thank you. The font hasn't been picked up. I'll have a look at what needs to be done. by on this entry
  • Chords aren't displayed in the right place for me. The spacing seems to drift slowly left, so that c… by Steve Rumsby on this entry

James Williams

Not signed in
Sign in

Powered by BlogBuilder