quelea-projection / Quelea

Open source projection software for churches.
https://quelea.org
GNU General Public License v3.0
161 stars 147 forks source link

Allow audio clips to be added to songs (to be played when they're projected live.) #28

Closed DeeTigIT closed 10 months ago

DeeTigIT commented 6 years ago

Here's a some contribution to the 'Theme revamp' issue (https://github.com/quelea-projection/Quelea/issues/6)

Currently, a song cannot be projected easily on a music fragment (audio file) in combiation with a solid image background. A workaround would be: combine audio and image background into a video using a free video editing software like the Openshot Video Editor. And use this video as background to project on.

New perspective (at least to me it was): The VLC player is capable of 'playing' a background image without timelimit (:image-duration=-1) with slave audio as a second stream.

Content sample file "{IMG+Audio}Key Of D - Pads 6 Sample.vlcarg" as an example:

file:///C%3A%5CUsers%5CTiggelaarDirk%5C.quelea%5Cimg%5Csunset%20lake.jpg :input-slave=file://localhost/D%3A%5CMijn%20gebruikers%5CTiggelaarDirk%5CMijn%20documenten%5CQuelea%5Cmy_audio%5CKey%20Of%20D%20-%20Pads%206%20Sample.wav :file-caching=1 :image-duration=-1

(uses: background image: sunset lake.jpg + audio file: Key Of D - Pads 6 Sample.wav)

Such a vlcarg can be selected as a video background for the song in the schedule (local theme). But this still is some laborous. But the technique might be useful without having to bother to enduser with it.

Suggestion therefore: If the user chooses type 'Image' in the theme editor then also give an additional possiblity (new field) to optionally select an audio file. When an audio file has been selected by the user in addition to the background, then play the background image without timelimit with slave audio as a second stream (using the above technique).

berry120 commented 6 years ago

This seems more to do with adding audio to songs than part of the theme revamp. (Valid issue of course and it's been requested a few times in the past, but it's very unlikely we'll be addressing this as part of the theme revamp specifically).

Given that I'll rename this to more easily keep track of it, but feel free to challenge me on that if I've misunderstood.

Thanks for the workaround to adding audio to songs though, hopefully that will be useful for others.

DeeTigIT commented 6 years ago

Adding audio to songs would become a piece of cake (apart from the underlying code) when in the theme editor, only for type 'Image', one could select this audio file. For this to work the theme editor (that's where the theme part of my suggestion comes in) would need a minor change. And the projection part would need a change to support such an extended Image theme because of the additional audio component.

The current theme offers "Video (moving background + audio)", "image (solid background, no audio)" and "Colour". In my opinion it would be a pity if the new "image (solid background, with audio)" would be solved apart from the theme (revamp) part, as it is clearly theme related I would say.

But I can live with any other solution for this. It's only a minor in a major, excellent projection program: Quelea!

berry120 commented 6 years ago

Thanks very much!

The issue I have with putting it in the theme editor is that themes should really be reusable, and it seems unlikely you'd want the same music to be playing with multiple songs. Or have I misunderstood something?

DeeTigIT commented 6 years ago

For a global theme re-usability is important. But for a local theme for a song in the Order of Service this would be quite handy. Consider a congregation without worship musicians (incidentally of permanent). We had such a ceremony last year with only a singer. On the song level I would then use the new "image (solid background, with audio)" to couple the appropriate audio file to the song, each song with it's onw audio, but with the same background. Even the background could be different for each song, if desired.

Alternative: start the audio file outside Quelea using VLC session.

berry120 commented 6 years ago

Hmm, I see the use case, but I disagree on this being a "theme" option - a "theme" to me is really the visual element (the background image / colours, text colours / font etc.) Audio is certainly a useful feature, but I'm not convinced it belongs as part of a theme.

ArvidNy commented 6 years ago

I'd have to agree with Michael on this one. If we add in audio support, I'd want it to work regardless of type of background, so I would say it shouldn't be connected to the theme at all. I feel you should also be able to play/pause the audio, which you can't do if you are adding the file as a theme.

In fact, I was actually working on this feature a couple of years ago but when I didn't find a good way to handle the UI, we'd also have to start up a second instance of VLC (or third if you are recording) and not that many users had requested this feature, Michael and I decided to hold off the development of this feature for the time being. Back then, I added the audio file to a separate tab in the song edit window, but I could see it as an option in the detailed information tab just as well. Either way, I feel it's also necessary to be able to control the media as it's playing and that's probably the main issue here. (By the way, I also looked at the input-slave option in VLC, but I realized that wouldn't work with pause when you use a video background without pausing both files.)

Perhaps we might take another look at this if enough users have requested it by now, but for the time being I'd say it's still quite easy to play the file in another software instead.

DeeTigIT commented 6 years ago

Michael and Arvid, Thanks for your explanation and also your patience. I agree on playing audio shouldn't be theme bound. We can of course use VLC standalone to play audio. But still I'm puzzled how to integrate this in Quelea somehow, if possible. Here's another shot:

ArvidNy commented 6 years ago

Thanks for the suggestion, Dirk! It's a nice approach, though if we add support for playing audio directly in Quelea, I think I still prefer the playback to be connected to a specific song. It's not much more difficult to accomplish from a technical perspective. As for the UI, we would probably need to create our own buttons to control the playback and, if we connect it to a song, I'd say a better placement would be somewhere in the live panel.

p810252 commented 6 years ago

We currently use a separate computer for backing music to save alt tabbing between quelea and media player and have been using a separate computer for this for over 10 years. If this kind of function was available it would potentially mean we have a spare computer. I do agree you need play/ pause functionality for those leaders that like to read a verse aloud in the middle of the song.

DeeTigIT commented 5 years ago

Hello Arvid, Berry,

Here's a new suggestion, based on the automation of the manual steps described in the previous:

https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!searchin/quelea-discuss/vlcarg%7Csort:date/quelea-discuss/JPNFmH2oiH4/v9tkX5AvAwAJ

Steps:

If a new menu add-option isn't the appropriate: then perhaps add a new button, with the above functionality, in the Edit song window. (next to the current Copy theme button.) This way, the generated VLCARG file can also be, as a last step, automatically added in the song theme.

Is this a more workable solution?

Regards,

Dirk

S1

S2

_Hello John and Pat,

Arvid has right here: no need to use an addional :image_duration parameter if you switch image and audio. The contents of my working example vlarg file then became:

file:///D:\Mijn muziek\Opwekking Albums\Opwekkingsliederen 42 (808 - 819)\WAV\OPW819.wav :input-slave=file:///C:\Users\TiggelaarDirk.quelea\img\clouds and tree.jpg

Notes:

Regards and blessings,

Dirk_

DeeTigIT commented 5 years ago

Our workaround/best practice now:

S1

DeeTigIT commented 10 months ago

Closed by the requester because of VLC which is no longer used in Quelea 2024 release. A new request will be submitted with updated ideas on this.