Hi all.
There are some hack already created in the AirTime community and in My opinion are very interesting and useful.
The Most important is: Jingles or Spots every xx items
https://forum.sourcefabric.org/discussion/17792/playlists-jingles-or-spots-every-xx-items-updated-new-functionality
And additional good hacks here
https://forum.sourcefabric.org/discussion/17017/several-hacksmods-for-live-metadata-auto-dj-force-deletion-charting-etc-against-2-5-1-ga
This is just a suggestion, fell free to delete if you do not like it.
Thanks for sharing the links. We are definitely interested in introducing additional functionality but and could look at these for ideas. One of our goals with LibreTime is to make it far easier for people to share their code directly in the project vs. the need to have a bunch of hacks that users need to apply themselves. If you wanted to contact the original creators of these hacks perhaps they'd be interested in porting the feature to LibreTime, or you or someone else could work on this.
The proper way to implement a feature is to open up a issue with the specific problem the hack is designed to fix and then develop it on a forked repo and then commit it as a PR.
For the most part suchhacks should apply without much refactoring. Maybe you could contact the original authors asking them to port them? Now that we have a nice place where their code will get merged they might consider contributing!
Also, this part of the C4 probably applies here (and IMO makes sense).
A patch SHALL NOT include non-trivial code from other projects unless the Contributor is the original author of that code.
The second one is already on github and I pinged him here: https://github.com/kenrestivo/Airtime/commit/aeaafa32ef9d3c5f9fd536ade77d5283f32966e3#commitcomment-21383531
Hack is not really needed for Jingles or Spots every xx items. You can do as follows:
You can now drop the playlist created on step 3 in your shows. This will play X random tracks, then it will jump to the random jingle list and will play X files, then back to the random track list , and so on ..
Yes you can do this way but what about "repeating tracks" if you use different smart groups?
Well, if you have many tracks there should not be many repeating tracks. For some reason Airtime handled this very nice. Nevertheless, there is an option I missed in Airtime and is the possibility to use the "last played" criteria with smaller and bigger than X days instead of the actual comparison with a full date (i.e: 0000-00-00). The current last played criteria is useless, it would be much better to compare dates against 1 day, 1 month rather than a full date.
I've been working on the relative date in #13 . I wasn't aware that it worked previously for Airtime 2.5.x
I have been working on writing tests for the smartblock code in Blocks.php so that when I change it to work with relative dates I can try to make sure it doesn't affect the existing codebase.
Sorry to push that up with a new comment after two months. I'm an admin for a webradio a freind operates and we're using Airtime at the moment with the jingles hack installed. I believe this is an important feature and should not be dismissed because, as @xabispacebiker suggested, you can do it another way.
The way he suggested is very unintuitive IMHO, the current hack on airtime makes this easier because you just have a checkbox to tick when you need a smartblock with jingles, or ads enabled in your smartblock.
Feel free to describe exactly the functionality that is desired. If we are going to integrate "ads" or underwriting spots or whatever I think it would also make sense to give them first-class functionality and provide reports for specific spots etc. I am not familiar with how the hack works but we welcome a PR, if you want to take a shot at implementing the functionality yourself. Thanks for posting, and welcome to the community. We won't be pulling code from people without their consent but we will take code from the community for sure.
The problem being that the code isn't mine : it was taken from the forum here : https://forum.sourcefabric.org/discussion/17792/playlists-jingles-or-spots-every-xx-items-updated-new-functionality
The screenshot in this post highlights exactly what the feature is supposed to do : setup how many jingles or spots you want in a smart block.
Should I make a new issue to request for this feature ? I don't think I can help with implementing and testing via a PR (not really a PHP dev and am on another (NodeJS) project at the moment) but I can try to explain exactly what this feature is about and how it should (possibly) be written, if that's okay?
Well yeah it would make sense to create a new feature and probably close this one if our standard response is just going to be that we don't want to integrate code without the original contributors.
I've been thinking a lot about how the Smartblocks could be refactored from a UI and human design factor. This example is helpful because it suggests a useful pattern that is easy for people to understand.
The basic notion embedded in here is interweaving a selection of music with tracks from certain collections defined via matching on the Genre name exclusively, ie Spots have the genre set to Spots. I think it does make sense to create collections based upon Genre. I think it would make sense to have these as defaults. But I also think it would make more sense for the collections to be user generated and available as a view filter for the Tracks table.
Definitely food for thought. I'm willing to work with you to develop this concept further but I am leaning towards a more customizable user defined experience with smart defaults. The next thing I think I'm going to work on for LibreTime beyond bug fixes is a way to predefine and select filters based upon criteria for the Library. What I have been calling collections. Using the Genre tag seems like a logical choice but I wonder if it might be limiting if one were to try to include music tracks in a collection for some reason.
Yep, let's discuss that in another issue. I'll create one tomorrow morning, it's late right now and I need to think about it more clearly.
My friend running the radio will also post a feature request about smartblock later too, I asked him what he'd like when time will come for us to migrate to LibreTime.
Since we have decided that we won't integrate code from other people without their submission we will not be integrating community hacks at this point. I'm going to close this. For the discussion related to a jingles feature see the issue above.
Most helpful comment
Thanks for sharing the links. We are definitely interested in introducing additional functionality but and could look at these for ideas. One of our goals with LibreTime is to make it far easier for people to share their code directly in the project vs. the need to have a bunch of hacks that users need to apply themselves. If you wanted to contact the original creators of these hacks perhaps they'd be interested in porting the feature to LibreTime, or you or someone else could work on this.
The proper way to implement a feature is to open up a issue with the specific problem the hack is designed to fix and then develop it on a forked repo and then commit it as a PR.