Ok Clone allows one to duplicate a song and is in the SongPlugin.
It is also possible to have "Temporary" songs.  These are songs loaded from the 
servicemanager but not added to the database in the SongPlugin.  This is for 
use where you want to import songs form a different machine and not mess up 
your database.  This is controlled by a "import missing songs from service 
files".  
The trick here is we want to be able to edit the song and re-save the song.  So 
what we do is save the song to the database with a "temporary" flag so when you 
exit OpenLP these songs are removed from the database.

The trigger is loading a service file and the song XML is pushed to the 
songplugin and the songid returned to allow editing.

In you case we could do the same thing.
- Add song to service
- New menu item (Allow service only updates) - This creates a temporary copy 
and updates the songid.

After this we have a temporary song.  You may want to add a new serviceitem 
capability to handle reading the servicefile and reactivating the temporaryness.

This seems cleaner than the other solution as you would be reusing existing 
functionality.

BTW do not update the file headers.  We will do that later as there are a 
number of missing people.  If you want to do this then that is a separate merge 
request.

-- 
https://code.launchpad.net/~stewart-e/openlp/verse_order_override/+merge/184651
Your team OpenLP Core is subscribed to branch lp:openlp.

_______________________________________________
Mailing list: https://launchpad.net/~openlp-core
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to