asaph-developers Mailing List for Asaph
Status: Beta
Brought to you by:
dazuma
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(4) |
Apr
(5) |
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: David F. <da...@sj...> - 2005-02-06 06:57:57
|
David Fraser wrote: > Hi (after a long silence) > > We have been using Asaph at church for quite a while now for editing > song words for presentation in pyasaph. > However all our chords for musicians are still in Word documents (this > missing the whole point of using Asaph). > One of the main requirements that Asaph is missing in order to be > useful for managing the chords is being able to print multiple songs > (e.g. the whole songbook) at a time. > I was wanting to look at adding this, but would appreciate a few > pointers (being fairly unfamiliar with Java and specifically > unfamiliar with Java printing). > It seems like the main relevant code is in SongViewer, PrintHandler, > and PrintRenderHandler. > What would be the right way to go about adding printing for a whole > song database (for a start, then I could add selecting of multiple songs) > > Thanks > David Oops! Just looked at the site and saw the release of Asaph 0.5.5 and the 1.1 plan for output options ... great! Might be able to help although as I said my Java knolwedge is limited... David |
From: David F. <da...@sj...> - 2005-02-06 06:53:58
|
Hi (after a long silence) We have been using Asaph at church for quite a while now for editing song words for presentation in pyasaph. However all our chords for musicians are still in Word documents (this missing the whole point of using Asaph). One of the main requirements that Asaph is missing in order to be useful for managing the chords is being able to print multiple songs (e.g. the whole songbook) at a time. I was wanting to look at adding this, but would appreciate a few pointers (being fairly unfamiliar with Java and specifically unfamiliar with Java printing). It seems like the main relevant code is in SongViewer, PrintHandler, and PrintRenderHandler. What would be the right way to go about adding printing for a whole song database (for a start, then I could add selecting of multiple songs) Thanks David |
From: David F. <da...@sj...> - 2004-05-12 07:43:14
|
Daniel Azuma wrote: >Hi David, > >Okay, time for a view into the (largely undocumented) guts of the XML >format... > > Hi Daniel, Wow, thanks for all the details! >On Tue, 11 May 2004, David Fraser wrote: > > >>1) Is there a way to mark blocks as chorus / verse etc. The reason this >>would be useful is for style changes e.g. displaying the chorus in >>italics (I know it can currently be indented). >> >> >In the model, SongBlocks are FieldContainers. That means, in the XML, you >can have a <fields> element inside <block>. (It needs to be the first >element if it is present.) See the <song> elements for examples of the >structure of <fields>. > >The canonical way to mark the block type is to use a stringfield with name >"type". Set the value to "verse" for verse, "chorus" for chorus, "bridge" >for bridge. I don't have any other constants defined at the moment. > >(Also note that the constants for these in model/SongBlock.java are >currently wrong and will be fixed in 0.5.4. The field name should be >"type", not "name".) > >This is undocumented and not currently actually used by Asaph's GUI for >anything, but block fields are part of Asaph's model, and so Asaph will >preserve them when it edits the file. > > That's fantastic, thanks for the info... I will probably only get to doing this after some of the other tasks, but its helpful to know. >>2) Likewise, it would be nice to be able to mark lines as translations >>(we sing a number of non-English songs that often have translations >>below each line). >> >> >Lines can't be marked. That was a design decision I went back and forth >on, but finally decided it wasn't necessary. However, runs of text CAN be >marked with a type. In fact, that is how "comments" are implemented. > >Here's how it works: > >The <line> element is a container that is supposed to contain <text> and ><c> elements. So the "clean" way to represent a line in XML would look >something like this: > ><line><text>I </text><c main="D"/><text>love You Lord</text></line> > >The <text> element can include an optional "type" attribute. Comments are >actually text elements with type="comment". For example: > ><line><text type="comment">(chorus)</text></line> > >However, Asaph's XML format includes several "shorthand" modifications of >this notation. First, if raw text appears in the <line> element, it is >treated as though it were in a <text> subelement. So the first example >above could be written as: > ><line>I <c main="D"/>love You Lord</line> > >Second, the <comment> element is equivalent to <text type="comment">. So >the second example above could be written as: > ><line><comment>(chorus)</comment></line> > >Asaph outputs its files using the above two shorthand rules because they >result in smaller files, and because I found them easier to read in a text >editor. > > I agree, having to put "text" markers on every section would be annoying, it is clean and nice to read. >Anyway, the point of the above discussion is that you can mark any text >run with a type by explicitly including the <text> element, and supplying >a type. The only canonical type I have defined right now is "comment". But >you can define your own for now, and Asaph will preserve it when it writes >out a file. You can't mark a line, but you can mark all the text runs >within a line. If you're including translation lines in a song, the >translation line probably won't have chord markings in it, so there will >probably only be one text run in each line. It would look something like: > ><line><text type="translation">translation of the above</text></line> > > Yes, this would work great for us, I'll have a look at implementing it. We actually take a openoffice document that has all the songs and convert it to the song database, so what I am doing is improving the conversion tool to automatically pick up comments, translations etc... Once it is all finished we can just dump the document and use the song database. Also I haven't yet done chord conversion, I just ignore the chords lines, so that needs to be done, like it was for the experimental text import. I would like to see if I can use some OpenOffice intelligence to work out the chord placement within the line...) >>I was also wondering about the use of ids to mark lines, blocks, songs, >>etc. They seem a bit redundant to me in that they are predictable and >>don't neccessarily add much information to the song database. >> >> >Okay, IDs. I figured this question would come up eventually. Here's the >rationale behind how Asaph uses IDs. > >IDs are meant to be a unique, permanent, serializable reference to a song, >chordset, variation, or block. Song IDs are unique within a database. >Chordset, variation, and block IDs are unique within a song. They are >intended to provide a permanent way for external entities to identify >songs, or certain elements within songs, even if the song changes in minor >ways. > > OK, that makes sense, I can see why you have them now... >Thus, IDs should not change if changes are made around them. For instance, >the ID of a song within its database will not change even if you change >the song title. Or the ID of a block within a song will not change even if >you reorder blocks, delete blocks, or otherwise cause the block's >numerical index within the song to change. Therefore, it is "safe", for >example, for an external entity like a URI to refer to the chorus of a >song by its block ID, while it is not safe to refer to it as "The second >block", because the former will not change if a block is inserted in the >beginning, whereas the latter will. > >IDs should never be visible to the user, except if they show up in a URI >or something like that. Unfortunately, they do show up in filenames in the >indexed database, but the intent for indexed databases is that users >shouldn't mess with the individual files anyway. > > OK that makes sense. I think because I had never done extensive editing I had only seen sequential ids, but if blocks/songs maintain ids after changes, thats cool. Is there a standard syntax for URIs referring to songs / blocks? >>In particular, I was thinking that it would be quite useful to be able >>to have a song file specified for the song (in an indexed database) so >>instead of being song_b_a.xml it would be nothing_but_the_blood.xml. >>The advantage of this would be that you could have multiple indexes on >>the same set of songs and you could use the indexes to save lists of >>songs e.g. the list of songs for this Sunday morning etc. >> >> >The way something like this should work-- at least, the way it is going to >work in Asaph when it starts doing presentations and more advanced output >capabilities-- is that you should have a data structure that points to >songs by their song ID. One of the key APIs I'm looking at designing for >1.1 is a "song list" API. So a presentation would run off a song list that >is effectively just an array of pairs (database, songID). For example: > >(database 1, song D) >(database 1, song A) >(database 2, song D) >(database 1, song E) > >and so forth. > >Similarly, within each song, you'd generally not want to show the blocks >in the order they appear in the database. For a song with three verses and >a chorus, the song is usually structured like this: > >block A: verse 1 >block B: chorus >block C: verse 2 >block D: verse 3 > >because that is how it usually is printed in a lead sheet. But when you do >your presentation, you probably want something like: > >verse 1 >chorus >verse 2 >chorus >verse 3 >chorus > >or even going back and repeating verses, and so forth. So a song list >with block reordering would actually look something like this: > >(database1, song D) > block A > block B > block C > block B > block D > block B >(database1, song A) >etc... > >That way, you don't have to modify the song in the database. You're just >building a list of "pointers" to songs and parts of songs in the database, >and leaving the database itself alone. That's kind of important: the way I >see Asaph being used is that users should be able to do all manner of >manipulating songs for presentations and building songbooks and the like, >without having to modify the database itself. A church can have a central >database of songs that is read-only to everyone except one person who is >responsible for managing songs and dealing with all the CCLI stuff. But a >music team member who needs to just put together a presentation can come >in and build one of the above lists, and will thus have the freedom to do >whatever reordering is necessary without having to make database changes. > > This sounds great, and it all makes lots of sense. >So the key here is the use of IDs, which are like pointers (to use >developer-speak) to those elements. Song D is still song D even if someone >goes in later and changes its title; the song list you're using for your >presentation won't break. Block B is still the chorus even if someone goes >in later and inserts an introduction before the first verse. The >introduction might be located before the first verse, but it will be >assigned the "next" ID, which would be "E". Block B is still the chorus, >and your song list doesn't have to change, and your presentation doesn't >break. > >The naming scheme of song xml files (.asml) files within an indexed >database is song_<id>_<revision>.asml. This is because songs should always >be specified by their unique ID, not by name or anything else, because >there is no guarantee that anything else will be unique, nor is there any >guarantee that other things won't change. In my personal database, there >are three songs entitled "I Want To Know You". So I can't use the title as >the filename. > >Anyway, that's the vision. And if you have comments on that, please feel >free to speak up. > > I think its great. Maybe it would be a nice idea to specify an xml format for the song list idea. That way lists could be saved and loaded relative to a (simple or indexed) database. >Now, that said, I'm guessing your problem is that you're just copying >songs into a new database, and feeding the entire database into pyasaph >for a presentation, (which is fine for now), and you're having trouble >coming up with an easy way to allow a user to specify the order of songs, >because in Asaph's database, there really isn't the concept of the order >of the songs, and so Asaph doesn't provide any user interface to reorder >songs. I don't really have a good solution for this, because the intent >for Asaph itself is eventually to hide all of the ID junk behind an API >and user interface for creating song lists. You could throw together and >document a simple mechanism for specifying the order of song IDs in an >input text file or something. (Sorry, I still haven't had a chance to >download and try out pyasaph myself, so I don't really have a good >understanding of what it's currently doing in terms of ordering songs.) > > Yes I think I will have a look at this, though I think an xml file for song lists would be the best solution. Actually what I've focussed on more is having a simple way to search song titles. So there is a text box above the list of songs that filters as you type (matching substrings). This makes it very quick to find songs if for example the worship leader chooses a song that wasn't on the list. So we generally have the whole database loaded, and then open all the songs that are on the list. There is a multiple document interface so you can see a few songs at once or select one from a window drop down. It seems to be working OK for now. I'll post some screenshots when I get a chance. The main improvement I would like to make is that at the moment I just use an HTML window to display the songs (on the second display if there is one). But this doesn't have any concept of blocks, so you have to scroll up and down in it using the mouse. What I want to do is allow the controller to double-click a block on the main screen and for that block to move to the top of the display screen. So I have to define a view class that will do this... Thanks for the help and info David |
From: Daniel A. <da...@ka...> - 2004-05-12 01:36:25
|
Hi David, Okay, time for a view into the (largely undocumented) guts of the XML format... On Tue, 11 May 2004, David Fraser wrote: > 1) Is there a way to mark blocks as chorus / verse etc. The reason this > would be useful is for style changes e.g. displaying the chorus in > italics (I know it can currently be indented). In the model, SongBlocks are FieldContainers. That means, in the XML, you can have a <fields> element inside <block>. (It needs to be the first element if it is present.) See the <song> elements for examples of the structure of <fields>. The canonical way to mark the block type is to use a stringfield with name "type". Set the value to "verse" for verse, "chorus" for chorus, "bridge" for bridge. I don't have any other constants defined at the moment. (Also note that the constants for these in model/SongBlock.java are currently wrong and will be fixed in 0.5.4. The field name should be "type", not "name".) This is undocumented and not currently actually used by Asaph's GUI for anything, but block fields are part of Asaph's model, and so Asaph will preserve them when it edits the file. > 2) Likewise, it would be nice to be able to mark lines as translations > (we sing a number of non-English songs that often have translations > below each line). Lines can't be marked. That was a design decision I went back and forth on, but finally decided it wasn't necessary. However, runs of text CAN be marked with a type. In fact, that is how "comments" are implemented. Here's how it works: The <line> element is a container that is supposed to contain <text> and <c> elements. So the "clean" way to represent a line in XML would look something like this: <line><text>I </text><c main="D"/><text>love You Lord</text></line> The <text> element can include an optional "type" attribute. Comments are actually text elements with type="comment". For example: <line><text type="comment">(chorus)</text></line> However, Asaph's XML format includes several "shorthand" modifications of this notation. First, if raw text appears in the <line> element, it is treated as though it were in a <text> subelement. So the first example above could be written as: <line>I <c main="D"/>love You Lord</line> Second, the <comment> element is equivalent to <text type="comment">. So the second example above could be written as: <line><comment>(chorus)</comment></line> Asaph outputs its files using the above two shorthand rules because they result in smaller files, and because I found them easier to read in a text editor. Anyway, the point of the above discussion is that you can mark any text run with a type by explicitly including the <text> element, and supplying a type. The only canonical type I have defined right now is "comment". But you can define your own for now, and Asaph will preserve it when it writes out a file. You can't mark a line, but you can mark all the text runs within a line. If you're including translation lines in a song, the translation line probably won't have chord markings in it, so there will probably only be one text run in each line. It would look something like: <line><text type="translation">translation of the above</text></line> > I was also wondering about the use of ids to mark lines, blocks, songs, > etc. They seem a bit redundant to me in that they are predictable and > don't neccessarily add much information to the song database. Okay, IDs. I figured this question would come up eventually. Here's the rationale behind how Asaph uses IDs. IDs are meant to be a unique, permanent, serializable reference to a song, chordset, variation, or block. Song IDs are unique within a database. Chordset, variation, and block IDs are unique within a song. They are intended to provide a permanent way for external entities to identify songs, or certain elements within songs, even if the song changes in minor ways. Thus, IDs should not change if changes are made around them. For instance, the ID of a song within its database will not change even if you change the song title. Or the ID of a block within a song will not change even if you reorder blocks, delete blocks, or otherwise cause the block's numerical index within the song to change. Therefore, it is "safe", for example, for an external entity like a URI to refer to the chorus of a song by its block ID, while it is not safe to refer to it as "The second block", because the former will not change if a block is inserted in the beginning, whereas the latter will. IDs should never be visible to the user, except if they show up in a URI or something like that. Unfortunately, they do show up in filenames in the indexed database, but the intent for indexed databases is that users shouldn't mess with the individual files anyway. > In particular, I was thinking that it would be quite useful to be able > to have a song file specified for the song (in an indexed database) so > instead of being song_b_a.xml it would be nothing_but_the_blood.xml. > The advantage of this would be that you could have multiple indexes on > the same set of songs and you could use the indexes to save lists of > songs e.g. the list of songs for this Sunday morning etc. The way something like this should work-- at least, the way it is going to work in Asaph when it starts doing presentations and more advanced output capabilities-- is that you should have a data structure that points to songs by their song ID. One of the key APIs I'm looking at designing for 1.1 is a "song list" API. So a presentation would run off a song list that is effectively just an array of pairs (database, songID). For example: (database 1, song D) (database 1, song A) (database 2, song D) (database 1, song E) and so forth. Similarly, within each song, you'd generally not want to show the blocks in the order they appear in the database. For a song with three verses and a chorus, the song is usually structured like this: block A: verse 1 block B: chorus block C: verse 2 block D: verse 3 because that is how it usually is printed in a lead sheet. But when you do your presentation, you probably want something like: verse 1 chorus verse 2 chorus verse 3 chorus or even going back and repeating verses, and so forth. So a song list with block reordering would actually look something like this: (database1, song D) block A block B block C block B block D block B (database1, song A) etc... That way, you don't have to modify the song in the database. You're just building a list of "pointers" to songs and parts of songs in the database, and leaving the database itself alone. That's kind of important: the way I see Asaph being used is that users should be able to do all manner of manipulating songs for presentations and building songbooks and the like, without having to modify the database itself. A church can have a central database of songs that is read-only to everyone except one person who is responsible for managing songs and dealing with all the CCLI stuff. But a music team member who needs to just put together a presentation can come in and build one of the above lists, and will thus have the freedom to do whatever reordering is necessary without having to make database changes. So the key here is the use of IDs, which are like pointers (to use developer-speak) to those elements. Song D is still song D even if someone goes in later and changes its title; the song list you're using for your presentation won't break. Block B is still the chorus even if someone goes in later and inserts an introduction before the first verse. The introduction might be located before the first verse, but it will be assigned the "next" ID, which would be "E". Block B is still the chorus, and your song list doesn't have to change, and your presentation doesn't break. The naming scheme of song xml files (.asml) files within an indexed database is song_<id>_<revision>.asml. This is because songs should always be specified by their unique ID, not by name or anything else, because there is no guarantee that anything else will be unique, nor is there any guarantee that other things won't change. In my personal database, there are three songs entitled "I Want To Know You". So I can't use the title as the filename. Anyway, that's the vision. And if you have comments on that, please feel free to speak up. Now, that said, I'm guessing your problem is that you're just copying songs into a new database, and feeding the entire database into pyasaph for a presentation, (which is fine for now), and you're having trouble coming up with an easy way to allow a user to specify the order of songs, because in Asaph's database, there really isn't the concept of the order of the songs, and so Asaph doesn't provide any user interface to reorder songs. I don't really have a good solution for this, because the intent for Asaph itself is eventually to hide all of the ID junk behind an API and user interface for creating song lists. You could throw together and document a simple mechanism for specifying the order of song IDs in an input text file or something. (Sorry, I still haven't had a chance to download and try out pyasaph myself, so I don't really have a good understanding of what it's currently doing in terms of ordering songs.) Daniel |
From: David F. <da...@sj...> - 2004-05-11 21:23:05
|
Hi Daniel As I said I have a few questions about the xml file format. These mostly arise from the differing needs of presenting songs I guess. 1) Is there a way to mark blocks as chorus / verse etc. The reason this would be useful is for style changes e.g. displaying the chorus in italics (I know it can currently be indented). 2) Likewise, it would be nice to be able to mark lines as translations (we sing a number of non-English songs that often have translations below each line). If there isn't a way to do the above, could there be a way to specify such attributes so that they will still be preserved when Asaph edits the files? I think the way you have specified chords is great, it makes it really easy. I was also wondering about the use of ids to mark lines, blocks, songs, etc. They seem a bit redundant to me in that they are predictable and don't neccessarily add much information to the song database. In particular, I was thinking that it would be quite useful to be able to have a song file specified for the song (in an indexed database) so instead of being song_b_a.xml it would be nothing_but_the_blood.xml. The advantage of this would be that you could have multiple indexes on the same set of songs and you could use the indexes to save lists of songs e.g. the list of songs for this Sunday morning etc. Let me know what you think about the above. Thanks David |
From: David F. <da...@sj...> - 2004-05-11 16:49:40
|
Hi all Thanks Daniel for setting up cvs access etc. Makes life easier! pyasaph is now in asaph cvs under the pyasaph module ; I have imported version 0.0.5 through 0.1.1 for history's sake. I have also uploaded the source distribution and a windows installer to the file release system. The windows installer requires python and wxPython to be installed - wxPython 2.5 is better as it gives better display control Any feedback welcome... David |
From: David F. <da...@sj...> - 2004-05-01 22:04:22
|
Sandra Capri wrote: >David, > >This is exciting news!! It sounds like development is doing well! > > >>A bit hairy as we only had a single display output so we had to keep >>turning them off to switch songs etc, but it worked. >> >> >Hmm, so is it required to use 2 video cards? This could cause a problem >for those using notebook computers (2nd video can be expensive there). >That isn't our situation - I have an extra video card to put in the >tower we use. > > No, it is not required. You can set whether to use the primary display or a secondary display. In wx 2.5 upwards, it can automatically detect the displays, in wx 2.4 it guesses based on the main screen size. But there is no User interface for this yet, just command line options. But a lot of notebook computers, you can have the display output through the video out as a secondary display. The main problem with only having a single output is that people watching the projection will see the switch of the screen, and selection of songs. But we can add code to minimize this >> easy way to display notices >> >> >Agreed, this would be very nice. The preacher might want to be able >to seamlessly go into his slides for his/her teaching as well - is >this a possibility? > > Well tonight we had a few presentations (using PowerPoint) - its fairly easy to just switch programs. The idea of notices was for things like people who've left their car lights on, etc - displaying it over the text of the song for a while. I've started adding some code for this now but haven't got it working nicely yet. >>I have also written a sxw2asaph script (included) that tries to convert >>an OpenOffice document to a song database. >>A bit like the import songs feature except it can handle multiple songs >>in a file (and doesn't yet include the chords) >>We've used this to convert songs (a few missing lines though) >> >> >Excellent! All of our songs are in various openoffice files. Some >songs are 1 per file, and some are several per file. I was really >hoping for this import feature (and a script is an excellent way to >accomplish this). Thank you! > > Great, you should just be able to do: ./sxw2asaph.py *.sxw -o test.adml There could be more improvement on the import, and how it detects different songs etc... but all in good time. >When things settle down around home, I'm hoping to download and try out >pyasaph. I've told our songleaders it's coming, and they're excited >about it. > >For anyone on the mailing list that is familiar with Tkinter, but not >wxPython (like myself), there is an interesting article at: >http://www.onlamp.com/lpt/a/196 > >which gives a comparison. It's kind of based around mswindows thought, >but since we're talking about python, it mostly applies to the Linux >world as well (it also compares PythonWin for those familiar with that) > > Great David |
From: Sandra C. <sc...@sp...> - 2004-05-01 17:34:58
|
David, This is exciting news!! It sounds like development is doing well! > A bit hairy as we only had a single display output so we had to keep > turning them off to switch songs etc, but it worked. Hmm, so is it required to use 2 video cards? This could cause a problem for those using notebook computers (2nd video can be expensive there). That isn't our situation - I have an extra video card to put in the tower we use. > easy way to display notices Agreed, this would be very nice. The preacher might want to be able to seamlessly go into his slides for his/her teaching as well - is this a possibility? > I have also written a sxw2asaph script (included) that tries to convert > an OpenOffice document to a song database. > A bit like the import songs feature except it can handle multiple songs > in a file (and doesn't yet include the chords) > We've used this to convert songs (a few missing lines though) Excellent! All of our songs are in various openoffice files. Some songs are 1 per file, and some are several per file. I was really hoping for this import feature (and a script is an excellent way to accomplish this). Thank you! When things settle down around home, I'm hoping to download and try out pyasaph. I've told our songleaders it's coming, and they're excited about it. For anyone on the mailing list that is familiar with Tkinter, but not wxPython (like myself), there is an interesting article at: http://www.onlamp.com/lpt/a/196 which gives a comparison. It's kind of based around mswindows thought, but since we're talking about python, it mostly applies to the Linux world as well (it also compares PythonWin for those familiar with that) -- Sandra Capri <sc...@sp...> |
From: David F. <da...@sj...> - 2004-05-01 12:09:28
|
Hi Well , it was a bit nerve-wracking but we did it... We have a weekend of stuff going on in our church with Matt Redman from the UK leading worship and Terry Virgo speaking. And we actually managed to use PyAsaph this morning to display the songs through the projectors! A bit hairy as we only had a single display output so we had to keep turning them off to switch songs etc, but it worked. Anyway after the meeting put in a new video card that has a second output and PyAsaph is now displaying stuff nicely on the secondary output. I think that merits calling this 0.1 The source is at http://davidf.sjsoft.com/files/pyasaph-0.1.tar.gz and a Windows installer (requires wxpython and python, and I haven't tested it) at http://davidf.sjsoft.com/files/pyasaph-0.1.win32.exe If anyone tries it out I'd be glad to hear feedback. Things at the top of my TODO list: being able to scroll past the bottom of a song (hard to see the bottom of the screens) easy way to display notices toolbar/buttons/accelerators to switch songs being displayed big one: building our own display instead of using a HtmlWindow, so we can do better paging based on blocks Looks like other guys from my church and other churches may be keen to help, so it should develop quickly... I have also written a sxw2asaph script (included) that tries to convert an OpenOffice document to a song database. A bit like the import songs feature except it can handle multiple songs in a file (and doesn't yet include the chords) We've used this to convert songs (a few missing lines though) Anyway just wanted to give progress feedback, I know Daniel you're still busy with papers, I have a few questions about the file format, but will ask later... Also I think cvs on sourceforge may become useful soon so let me know if you have a chance to do this... David |
From: David F. <da...@sj...> - 2004-04-23 21:15:40
|
Hi there 0.0.4 is probably understating it - beginning to look really nice now, can open multiple songs in a MDI interface (tabbed on GTK, not so nice on Windows), then just uses open songs for slideshow. Also can handle a secondary display (though need to add interface to select this) And a search box to search the list of songs And lots of internal refactoring I'll try build an installer for the next release... http://davidf.sjsoft.com/files/pyasaph-0.0.4.tar.gz David |
From: David F. <da...@sj...> - 2004-04-20 16:08:30
|
Hi Daniel Thanks, CVS would be great because then maybe others could help :-) My sourceforge username is davidfraser Just not sure what we should call the module, it could be wxAsaph but actually there is general Python code that may be useful for e.g. generating HTML. Maybe PyAsaph. Or was trying to think of an inventive name (Moses lifted up the snake in the desert...) but got stuck I guess the CVS repository name doesn't matter, but it would be great to have one! Hope your papers go well David Daniel Azuma wrote: > > Thanks, David. I'm snowed under with two major final papers right now, > so I'm afraid I won't be able to look at it myself until next week, > but good to see you've made some progress on this. Let me know if you > think space on Asaph's sourceforge page (e.g. CVS access) would be > useful for your project. > > Daniel > > > On Apr 19, 2004, at 15:16, David Fraser wrote: > >> OK, have added support for indexed databases and an initial >> fullscreen display (some support for second monitor too) >> http://davidf.sjsoft.com/files/wxasaph-0.0.2.zip >> >> David >> >> David Fraser wrote: >> >>> Hi >>> >>> Finally found the time to put together an initial start at >>> displaying an >>> Asaph database without chords in wxPython, aim is to head towards a >>> presentation-mode program as discussed before. >>> So far loads a list of sings, lets you select them and displays the >>> song >>> lyrics in the main part of the screen. No nice fonts, and only handles >>> simple databases (but should be easy to enhance). >>> Main initial goal is to work towards a fullscreen display, particularly >>> on a second screen - our church has just bought a new projector and are >>> wanting to display lyrics, I want to use Asaph. >>> Code is at http://davidf.sjsoft.com/files/wxasaph-0.0.1.zip - >>> requires wxPython and elementtree from effbot (I'm using wxPython >>> 2.4 and Python 2.3.3 on Linux). Any feedback/contributions appreciated >>> >>> Regards >>> David >> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Asaph-developers mailing list > Asa...@li... > https://lists.sourceforge.net/lists/listinfo/asaph-developers > |
From: Daniel A. <da...@ka...> - 2004-04-20 00:21:55
|
Thanks, David. I'm snowed under with two major final papers right now, so I'm afraid I won't be able to look at it myself until next week, but good to see you've made some progress on this. Let me know if you think space on Asaph's sourceforge page (e.g. CVS access) would be useful for your project. Daniel On Apr 19, 2004, at 15:16, David Fraser wrote: > OK, have added support for indexed databases and an initial fullscreen > display (some support for second monitor too) > http://davidf.sjsoft.com/files/wxasaph-0.0.2.zip > > David > > David Fraser wrote: > >> Hi >> >> Finally found the time to put together an initial start at displaying >> an >> Asaph database without chords in wxPython, aim is to head towards a >> presentation-mode program as discussed before. >> So far loads a list of sings, lets you select them and displays the >> song >> lyrics in the main part of the screen. No nice fonts, and only handles >> simple databases (but should be easy to enhance). >> Main initial goal is to work towards a fullscreen display, >> particularly >> on a second screen - our church has just bought a new projector and >> are >> wanting to display lyrics, I want to use Asaph. >> Code is at http://davidf.sjsoft.com/files/wxasaph-0.0.1.zip - >> requires wxPython and elementtree from effbot (I'm using wxPython 2.4 >> and Python 2.3.3 on Linux). Any feedback/contributions appreciated >> >> Regards >> David |
From: David F. <da...@sj...> - 2004-04-19 22:10:51
|
OK, have added support for indexed databases and an initial fullscreen display (some support for second monitor too) http://davidf.sjsoft.com/files/wxasaph-0.0.2.zip David David Fraser wrote: > Hi > > Finally found the time to put together an initial start at displaying an > Asaph database without chords in wxPython, aim is to head towards a > presentation-mode program as discussed before. > So far loads a list of sings, lets you select them and displays the song > lyrics in the main part of the screen. No nice fonts, and only handles > simple databases (but should be easy to enhance). > Main initial goal is to work towards a fullscreen display, particularly > on a second screen - our church has just bought a new projector and are > wanting to display lyrics, I want to use Asaph. > Code is at http://davidf.sjsoft.com/files/wxasaph-0.0.1.zip - requires > wxPython and elementtree from effbot (I'm using wxPython 2.4 and > Python 2.3.3 on Linux). Any feedback/contributions appreciated > > Regards > David > > Daniel Azuma wrote: > >> If you folks are interested in pursuing this yourselves, I'd be happy >> to provide whatever support I can, on the file format, on my >> classes/interfaces if you want to use them, and so forth. I also have >> a whole bunch of ideas on the design and features for a presentation >> mechanism. >> >> Anyway, if you want to pursue this, let me know, and I can start a >> developers mailing list for it (so we don't burden this list with >> developer discussion.) >> >> Daniel >> >> >> On Mar 09, 2004, at 22:44, David Fraser wrote: >> >>> I'm sure Daniel will answer you since he is the real developer! >>> But it's nice to see someone else wanting to do stuff in Python ... >>> This is a feature I have been very keen to see as well, although I >>> think what is really needed is a presentation-mode program that >>> would let you use any songs from the main database if required, but >>> would have a shortlist that would be quick to select from ... >>> The question is what is the best way to quickly develop something >>> like this? >>> One option would be to use Jython, since then all the layout and >>> database reading classes from the main app could be used, and we'd >>> have Python for quick development... >>> But I have no experience with Jython. >>> Otherwise the layout + database classes could be reimplemented in >>> Python, or finally (the obvious) the new stuff could just be coded >>> in Java... >>> >>> If this was only used for projecting the words and not the chords, >>> the layout would be much simpler, so the chord layout wouldn't have >>> to be done at first. >>> And since the database stuff is in XML, that should be easy. >>> >>> Anyway just throwing around some ideas... >>> >>> David >>> >>> Sandra Capri wrote: >>> >>>> Hi, >>>> >>>> I just downloaded Asaph 0.5.1 a few nights ago, and have been running >>>> through the menus, as well as the README.html file, and I am very >>>> impressed with all the excellent features! I have been playing around >>>> with creating a similar program (in Python), and came to the >>>> realization >>>> that it is a lot more work than I first thought. I'm thrilled to find >>>> that someone has done that work for me! >>>> >>>> I seem to be unable to figure out how to display the song >>>> presentation, >>>> once it has been setup. I am imagining that we would enter all of our >>>> songs into an indexed database, then for a given service, create a >>>> simple database containing just the songs that we sing that night. At >>>> that point, I would have expected to select a menu item that would >>>> display the first song - words only, covering the whole screen. >>>> Then it >>>> would allow the song leader to go through each song in order (such as >>>> clicking the mouse button for the next song). Since we have a >>>> projector, this is the way we allow the congregation to see the >>>> words to >>>> the song. >>>> >>>> How do I do this? Or is this a future feature? >>>> > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Asaph-developers mailing list > Asa...@li... > https://lists.sourceforge.net/lists/listinfo/asaph-developers > |
From: David F. <da...@sj...> - 2004-04-18 13:46:25
|
Hi Finally found the time to put together an initial start at displaying an Asaph database without chords in wxPython, aim is to head towards a presentation-mode program as discussed before. So far loads a list of sings, lets you select them and displays the song lyrics in the main part of the screen. No nice fonts, and only handles simple databases (but should be easy to enhance). Main initial goal is to work towards a fullscreen display, particularly on a second screen - our church has just bought a new projector and are wanting to display lyrics, I want to use Asaph. Code is at http://davidf.sjsoft.com/files/wxasaph-0.0.1.zip - requires wxPython and elementtree from effbot (I'm using wxPython 2.4 and Python 2.3.3 on Linux). Any feedback/contributions appreciated Regards David Daniel Azuma wrote: > If you folks are interested in pursuing this yourselves, I'd be happy > to provide whatever support I can, on the file format, on my > classes/interfaces if you want to use them, and so forth. I also have > a whole bunch of ideas on the design and features for a presentation > mechanism. > > Anyway, if you want to pursue this, let me know, and I can start a > developers mailing list for it (so we don't burden this list with > developer discussion.) > > Daniel > > > On Mar 09, 2004, at 22:44, David Fraser wrote: > >> I'm sure Daniel will answer you since he is the real developer! >> But it's nice to see someone else wanting to do stuff in Python ... >> This is a feature I have been very keen to see as well, although I >> think what is really needed is a presentation-mode program that would >> let you use any songs from the main database if required, but would >> have a shortlist that would be quick to select from ... >> The question is what is the best way to quickly develop something >> like this? >> One option would be to use Jython, since then all the layout and >> database reading classes from the main app could be used, and we'd >> have Python for quick development... >> But I have no experience with Jython. >> Otherwise the layout + database classes could be reimplemented in >> Python, or finally (the obvious) the new stuff could just be coded in >> Java... >> >> If this was only used for projecting the words and not the chords, >> the layout would be much simpler, so the chord layout wouldn't have >> to be done at first. >> And since the database stuff is in XML, that should be easy. >> >> Anyway just throwing around some ideas... >> >> David >> >> Sandra Capri wrote: >> >>> Hi, >>> >>> I just downloaded Asaph 0.5.1 a few nights ago, and have been running >>> through the menus, as well as the README.html file, and I am very >>> impressed with all the excellent features! I have been playing around >>> with creating a similar program (in Python), and came to the >>> realization >>> that it is a lot more work than I first thought. I'm thrilled to find >>> that someone has done that work for me! >>> >>> I seem to be unable to figure out how to display the song presentation, >>> once it has been setup. I am imagining that we would enter all of our >>> songs into an indexed database, then for a given service, create a >>> simple database containing just the songs that we sing that night. At >>> that point, I would have expected to select a menu item that would >>> display the first song - words only, covering the whole screen. >>> Then it >>> would allow the song leader to go through each song in order (such as >>> clicking the mouse button for the next song). Since we have a >>> projector, this is the way we allow the congregation to see the >>> words to >>> the song. >>> >>> How do I do this? Or is this a future feature? >>> |
From: Sandra C. <sc...@sp...> - 2004-03-15 16:02:09
|
I played with openLP a little last night. I run Windows 2000 in a vmware window on my Fedora machine. I don't know if running vmware hindered the program any, but (like David) I couldn't see full functionality - my guess is that it's still a pretty early version. My thoughts: negative: Doesn't appear to support chords - the guitar players at my church are pretty excited about Asaph's chord support. positive: quick search for lyrics or author - "hmm, I don't remember the title of the song, but I know it has 'Hallelujah what a saviour' in it - Oh look - that's 'Man of Sorrows'. negative: the search doesn't ignore punctuation, so I actually had to search for "hallelujah! what a saviour" positive: very easy to create presentations from the song db - when the program starts up, you see a list of songs available. Click on a song to select it, then hit a button to add it to the current presentation. This is exactly what I need for our song leader. She's the one that creates our song presentations for the song service, and she *really* wants something just that easy. She hates having to use Powerpoint (actually, now openoffice presentations) to create the song list. positive: Easy to add background picture and change fonts (and color of fonts) in a song (though it looks like it currently enforces the same color and backgrounds for all songs - a negative in my opinion). Interesting features: it looks like the author is planning to allow you to put other things into the presentation - such as any Bible verse, powerpoint presentation, or video. Cool idea. Non-existant feature: A feature we really want is during the display of the presentation, if the song leader decides on a song in the middle of the service, have some way to throw in another song quickly. David - as to your comments - I guess I'm of Daniel's opinion currently - I would also like to focus on the base Asaph application. In the future it may be very nice to be able to import/export between the applications. Asaph has some really cool features (like the optional chord display) that would probably be difficult to add to OpenLP, or implement in a standalone presentation program. Just my $.02 worth. -- Sandra Capri <sc...@sp...> |
From: David F. <da...@sj...> - 2004-03-15 15:20:10
|
Daniel Azuma wrote: > An interesting possibility that just came to my attention is to > integrate with OpenLP > https://sourceforge.net/projects/openlp > I was just contacted by the developer, who expressed some interest in > maybe figuring out how the two projects could work together. > > OpenLP is Windows-only at the moment, and since I don't have Windows, > I can't evaluate it or get any sense for how far along the project is > or what it would take to make Asaph and OpenLP talk to each other. > > Daniel I've just downloaded and run the program. Basically it seems to use a SQLLite database to store the song lyrics, which are plain text with page breaks to indicate different slides. I couldn't work out how to get it all working though. The program is written in Delphi currently ... I have attached a screenshot. He says he has plans to "port this application to C#/C++ or something with a good, free, IDE" It says it has the ability to interface with PowerPoint for Presentations ... but I don't have PowerPoint so I can't comment on that. I wonder whether the route AsaphDB should go is to 1) allow OpenLP/Asaph to import/export songs from each other. 2) allow exporting Asaph songs to HTML or the OpenOffice Presentation format. (This shouldn't be too hard). 3) also investigate other options for a standalone presentation program (wxpython comes to mind) I know Daniel is wanting to focus on the base application before paying attention to this ; is anyone else keen to be involved with any of the above? David > > > On Mar 11, 2004, at 05:04, David Fraser wrote: > >> Seems like the list is here now ... moving over to asaph-developers >> (Let me know if I missed any discussion...) > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Asaph-developers mailing list > Asa...@li... > https://lists.sourceforge.net/lists/listinfo/asaph-developers > |
From: Daniel A. <da...@ka...> - 2004-03-14 17:52:07
|
An interesting possibility that just came to my attention is to integrate with OpenLP https://sourceforge.net/projects/openlp I was just contacted by the developer, who expressed some interest in maybe figuring out how the two projects could work together. OpenLP is Windows-only at the moment, and since I don't have Windows, I can't evaluate it or get any sense for how far along the project is or what it would take to make Asaph and OpenLP talk to each other. Daniel On Mar 11, 2004, at 05:04, David Fraser wrote: > Seems like the list is here now ... moving over to asaph-developers > (Let me know if I missed any discussion...) |
From: David F. <da...@sj...> - 2004-03-11 13:14:56
|
Seems like the list is here now ... moving over to asaph-developers (Let me know if I missed any discussion...) David Fraser wrote: > Hi Daniel > > I think a development list would be great... I'd like to at least get > a simple thing working... > > Cheers > David > > Daniel Azuma wrote: > >> If you folks are interested in pursuing this yourselves, I'd be happy >> to provide whatever support I can, on the file format, on my >> classes/interfaces if you want to use them, and so forth. I also have >> a whole bunch of ideas on the design and features for a presentation >> mechanism. >> >> Anyway, if you want to pursue this, let me know, and I can start a >> developers mailing list for it (so we don't burden this list with >> developer discussion.) >> >> Daniel >> >> >> On Mar 09, 2004, at 22:44, David Fraser wrote: >> >>> I'm sure Daniel will answer you since he is the real developer! >>> But it's nice to see someone else wanting to do stuff in Python ... >>> This is a feature I have been very keen to see as well, although I >>> think what is really needed is a presentation-mode program that >>> would let you use any songs from the main database if required, but >>> would have a shortlist that would be quick to select from ... >>> The question is what is the best way to quickly develop something >>> like this? >>> One option would be to use Jython, since then all the layout and >>> database reading classes from the main app could be used, and we'd >>> have Python for quick development... >>> But I have no experience with Jython. >>> Otherwise the layout + database classes could be reimplemented in >>> Python, or finally (the obvious) the new stuff could just be coded >>> in Java... >>> >>> If this was only used for projecting the words and not the chords, >>> the layout would be much simpler, so the chord layout wouldn't have >>> to be done at first. >>> And since the database stuff is in XML, that should be easy. >>> >>> Anyway just throwing around some ideas... >>> >>> David >>> >>> Sandra Capri wrote: >>> >>>> Hi, >>>> >>>> I just downloaded Asaph 0.5.1 a few nights ago, and have been running >>>> through the menus, as well as the README.html file, and I am very >>>> impressed with all the excellent features! I have been playing around >>>> with creating a similar program (in Python), and came to the >>>> realization >>>> that it is a lot more work than I first thought. I'm thrilled to find >>>> that someone has done that work for me! >>>> >>>> I seem to be unable to figure out how to display the song >>>> presentation, >>>> once it has been setup. I am imagining that we would enter all of our >>>> songs into an indexed database, then for a given service, create a >>>> simple database containing just the songs that we sing that night. At >>>> that point, I would have expected to select a menu item that would >>>> display the first song - words only, covering the whole screen. >>>> Then it >>>> would allow the song leader to go through each song in order (such as >>>> clicking the mouse button for the next song). Since we have a >>>> projector, this is the way we allow the congregation to see the >>>> words to >>>> the song. >>>> >>>> How do I do this? Or is this a future feature? >>>> >> >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by: IBM Linux Tutorials >> Free Linux tutorial presented by Daniel Robbins, President and CEO of >> GenToo technologies. Learn everything from fundamentals to system >> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click >> _______________________________________________ >> Asaph-users mailing list >> Asa...@li... >> https://lists.sourceforge.net/lists/listinfo/asaph-users >> > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Asaph-users mailing list > Asa...@li... > https://lists.sourceforge.net/lists/listinfo/asaph-users > |