Jukebox mode / Party mode (library playlist)
it would be great if there was a jukebox mode, that would autoplay random songs when playlists or albums had finished.
it could be configured using a specific criteria (genre, directory etc) and would just kick in when your playlist had finished. this would be great for parties, you would never have to worry about the music running out!! :d http://www.xboxmediaplayer.de/forums/non-cgi/emoticons/cool.gif
i used to use a software app on the pc called 'audiosoft ejukebox'. fantastic piece of software, where the idea comes from. have a look at www.audiosoft.net and see what you think????
anyone else fancy this??
stace :d
glad i did a search first. not only would i like this feature to be implemented for music but also for video. i have many music videos, with the list growing rapidly as i rip music videos from my dvds, and would like for these to play randomly too.
as the original poster said to have it working but also, if possible, to have it randomly play files in folders in a heirarchy - if that's at all possible, or even makes sense?
also, have to say, the software is getting better with every release. keep up the good work guys - it's very appreciated!
vit
1) scan your music
2) go to library, then songs
3) use "queue" on "all songs" item at the top
4) switch to now playing window, enable randomize
1) scan your music
2) go to library, then songs
3) use "queue" on "all songs" item at the top
4) switch to now playing window, enable randomize
exactly... sure it takes a couple of seconds if you have a 10gb mp3 share, but it works like a charm...
What happens with two video files?
What about a single music file?
I can test in a few hours.
** edit **
Sorry Pike but I cant reproduce your problem. Videos are not looping for me.
maybe these python scripts will help .. turn on xbox and play all music on xbox at random:
-create file autoexec.py and dump it in your script dir
-create
-create file startup_playlist.py and dump it in autoexec
begin autoexec.py
-----------
# auto execute scripts when xbmc starts, place this file in xbmchome\scripts\
#
# note: - do not execute more than one script at a time which asks for user input!
# import xbmc
xbmc.executescript('q:\\scripts\\autoexec\\startup _playlist.py')
-----------
end autoexec.py
begin startup_playlist.py
-----------
''' vim: ts=8 sw=4 noexpandtab
author: rune hammersland
version: 0.3
xbox media center comes with a script to play an mp3 file at startup
(startupmp3). this script will load a playlist if it exists, and if not,
traverse a directory and load all relevant music files. it is intended as a
replacement for startupmp3, and enables you to listen to a playlist, or all
music files in a given directory.
changelog:
2005-05-27 13:10:33 - rune hammersland:
* added possibility for multiple playlists.
* added possibility for multiple music dirs.
'''
import xbmc
import os
# ---------------------------------------- #
# "configuration"
# ---------------------------------------- #
# change this to your playlist(s).
# written like this: ['path\\to\\plist1', 'to\\plist2', 'plist\\3']
playlist_files= ['']
#['e:\\tdata\\0face008\\albums\\playlists\\all.m3u']
# dirs(s) to traverse if playlist does not exist. nb: no trailing slash.
# written like this: ['path\\to\\dir1', 'to\\dir2', 'dir\\3']
music_dirs = ['f:\\music']
# shuffle playlist if this var equals 1.
shuffle_files = 1
# ---------------------------------------- #
# code
# ---------------------------------------- #
# function for adding files to playlist
def add_files(pl, dirname, names):
for filename in names:
if (os.path.isfile(dirname + "\\" + filename)):
add = 0
# check extension of file.
if (filename[-4:] == ".mp3"): add = 1
if (filename[-4:] == ".ogg"): add = 1
if (filename[-4:] == ".wav"): add = 1
if (filename[-5:] == ".flac"): add = 1
# if file is to be added, do it.
if (add == 1): pl.add(dirname + "\\" + filename)
elif (os.path.isdir(dirname + "\\" + filename)):
os.path.walk(dirname + "\\" + filename, add_files, pl)
# get music playlist from xbmc
plist = xbmc.playlist(0)
plist.clear()
# load playlist if it exists
for playlist_file in playlist_files:
if (os.path.isfile(playlist_file)):
plist.load(playlist_file)
# else, find all available music
else:
for music_dir in music_dirs:
os.path.walk(music_dir, add_files, plist)
# do the shuffle!
if (shuffle_files == 1): plist.shuffle()
xbmc.player().play(plist)
------------------
end startup_playlist.py
worx like a charm for me .. hope it helps ya out .. and erm .. what button ..hehe ..
sincerely mnc!
It kinda negates your last changes, but I didn't realise you were working on it.
Cheers,
Jonathan
05:10:08 M: 54239232 NOTICE: -----------------------------------------------------------------------
05:10:08 M: 54218752 NOTICE: Starting XBoxMediaCenter. Built on Dec 3 2006
05:10:08 M: 54218752 NOTICE: Q is mapped to: Harddisk0Partition1dashboard
05:10:08 M: 54218752 NOTICE: Log File is located: Q:xbmc.log
05:10:08 M: 54218752 NOTICE: -----------------------------------------------------------------------
05:10:08 M: 54218752 NOTICE: Setup DirectX
05:10:08 M: 54190080 NOTICE: load settings...
05:10:08 M: 54190080 NOTICE: loading T:guisettings.xml
05:10:08 M: 54063104 NOTICE: Getting hardware information now...
05:10:08 M: 54063104 NOTICE: Checking resolution 4
05:10:08 M: 54063104 NOTICE: Per AV pack settings are on
05:10:08 M: 54063104 NOTICE: Standard found : loading T:avpacksettings.xml
05:10:08 M: 54050816 NOTICE: Getting hardware information now...
05:10:08 M: 54030336 NOTICE: Checking resolution 4
05:10:08 M: 54145024 NOTICE: q:userdatasources.xml
05:10:09 M: 49139712 ERROR: Window Translator: Can't find window myvideotitles
05:10:09 M: 49225728 NOTICE: Checking the Date!
05:10:09 M: 49225728 NOTICE: start dvd mediatype detection
05:10:09 M: 48701440 NOTICE: initializing playlistplayer
05:10:09 M: 48701440 NOTICE: DONE initializing playlistplayer
05:10:09 M: 48701440 NOTICE: load default skin:[Project Mayhem III]
05:10:09 M: 46702592 WARNING: use dashboard
05:10:09 M: 46702592 NOTICE: initialize done
05:10:09 M: 46702592 NOTICE: Running the application...
05:10:12 M: 41005056 NOTICE: XBFileZilla: Starting...
05:10:13 M: 33554432 NOTICE: XBFileZilla: Started
05:10:33 M: 37900288 ERROR: CThread::staticThread : Division by zero (code:0xc0000094) at 0x00258697
For instance, I like being able to select "everything" as one party mode, but then at other times I may only want to select all "Electronic" genres for party mode. I realize there is a way to do this within the xml. But, to actually have a couple different versions to select from would be nice.
Just a thought...
Affirmative ..The builtin PlayerControl(Repeat) is b0rked, on works/off not :rolleyes:
that means having to maintain a playlist for an ever growing library, what i am interested in is one button, that randomly plays everything in that bookmark, without having to make and maintain a huge playlist.
Running 720p with ariel font
my understanding of the keymap.xml is that you can change keys based on what window you are on (i.e. playlist window), but cannot change keys based on what type of media is playing. is it possible to achieve this?
so, would this be the approach to use to enable random play in a particular genre or artist?
1. scan your music.
2. go to library, then genre
3. select genre (the particular genre) or select artist (the particular artist)
3. use "queue" on "all songs" item at the top
4. swith to "now playing" window
5. enable randomize.
do you have to scan the music every time that you would want to do this?
thanks!
john
Smartplaylists basically consist of a set of rules that are either ANDed or ORed together, and may be limited in length, and sorted by some criterion.
The GUI should therefore have:
1. Ability to configure a single rule. Such rules are "Artist like U2" or "Genre like Pop".
2. Ability to have a list of rules and add/subtract rules, and specify how the rules should be combined (either ANDed or ORed).
3. Ability to alter the limiting and sorting - these can probably be spin controls.
4. A name for the smartplaylist.
I suggest something like the "Add Source" dialog. A list control would hold the rules, clicking a rule would bring up a separate rule configuration dialog. Under the list would be the other configurable items (limits, sorting, name) and to the right of the list would be Add, Remove and Edit.
The first step is getting a design that will incorporate all we need to do.
Once the design is done, the coding isn't too much of a hassle ;)
In addition to the above, we'd just need a good design idea for how to organise the choosing of the smartplaylist. One idea would be a simple selector on screen which showed the "source" for the party mode. As to where this should be, and what it should consist of (and how navigation is performed), I'll leave that up to you.
Cheers,
Jonathan
If shuffle is enabled, and you go into a folder and click (select) a particular item, that item won't start (another one in the folder will). Ideally, it would shuffle but start playback from the particular item selected.
Cheers,
Jonathan
Overview
---------
There are two main changes:
- Removal of the PLAYLIST_MUSIC_TEMP and PLAYLIST_VIDEO_TEMP internal playlists
- Removal of the Random button from the Now Playing window
1) Removal of the PLAYLIST_MUSIC_TEMP and PLAYLIST_VIDEO_TEMP internal playlists
Prior to this change, internally Xbmc managed four playlists -- two which were visible via the Now Playing windows, and two which were completely hidden. Since these two hidden playlists (the _TEMP one) have always been a form of a mystery to users, they have been removed.
Playlist ID's are now:
0 = PLAYLIST_MUSIC (Music Now Playing window)
1 = PLAYLiST_VIDEO (Video Now Playing window)
*more stuff*
is there anywhere to get the old 'hidden playlist' functionality back other than using an old build?
or at least a way to not make playing a file clear the playlist and queue the whole current folder?
**edit** Nevermind, someone already corrected it. Please let me know if anything else seems broken.
the one thing to consider is that having a function that randomly plays the songs from the db and not populate a playlist first, saves memory and we need as much as we can spare on the xbox.
** edit **
If anyone can test this in the meantime, please report. I wont be home for a while.
** edit 2 **
I just tested and cant anything wrong with repeat. It works as it should. It cycles through the options as I described, and each type works correctly.
Oh, i throught it was generated at first and only played that selected songs and no more...
it would also be good, if the visualisation showed details on the 'next track' to play. that incorporated with the 'jukebox mode' mentioned above, would make this great app complete (for me at least!!! http://www.xboxmediaplayer.de/forums/non-cgi/emoticons/tounge.gif )
stace :d
Certainly not pushing...just wondering. Thank you (and all the devs) for all you do!
The listitem layout stuff currently can't handle vis conditions at present, however.
Cheers
Jonathan
ok, thanks.
i'll go back to 2.0.1 :D
and thanks for such a fast response.
Not a big problem, just an idea ;)
example:
A single avi 'restarts' when it reaches the end.
Related ?
1) scan your music
2) go to library, then songs
3) use "queue" on "all songs" item at the top
4) switch to now playing window, enable randomize
so....can this approach be used to randomly play songs in a specific genre....or artist?? say you want to randomly play songs from the "chanson" genre.
john
After that, the all-singing, all-dancing GUI will be developed.
i'd love to be able to give it criteria to use in its random selection, like genre, share folder, playlist(s) etc. to customize the type of music it will play.
this would be awesome!
I also corrected a problem where the current playing item wasnt being highlighted.
If a user selects such a file, Partymode is activated and the "smart playlist" is processed and the songs are selected out of the Song-Pool. :;):
The idea is to shuffle all music that meets the criteria selected in Library view. If, for example, U2 is selected under Artist and Party mode is activated, all music with U2 is shuffled and played. If, for example, Rock is selected under Genre and Party mode is activated, all rock music is shuffled and played.
One of the big advantages of this solution is that it does not require a lot of GUI programming.
/tinBuzz
i´m hoping to get 2.0 soon :cool: :;): :laugh:
Question... any chance of multiple selection colors or types so that the currently playing item could be highlighted differently than the item selected when the context menu is invoked?
the new "party mode" feature is terrific ... any plans to incorporate "party mode by genre" - going from rock/pop to classical to country sounds a bit strange.
:kickass:
kz
ps: to the xbmc team ... :bowdown:
The problem is how to implement such a thing. I was considering a fully user configurable set of options, but its very difficult to map out because there's so many variations. So, my other thought was a very simple on/off switch called "show sort by tag in label" or something like that. If this option was enabled, you would see items labeled like in my example. If disabled, you would see the default labeling.
Thoughts?
just something that randomly selects a song from the db, and when that one is done gets another one.
or whatever is simplest ;-)
Overview
---------
There are two main changes:
- Removal of the PLAYLIST_MUSIC_TEMP and PLAYLIST_VIDEO_TEMP internal playlists
- Removal of the Random button from the Now Playing window
1) Removal of the PLAYLIST_MUSIC_TEMP and PLAYLIST_VIDEO_TEMP internal playlists
Prior to this change, internally Xbmc managed four playlists -- two which were visible via the Now Playing windows, and two which were completely hidden. Since these two hidden playlists (the _TEMP one) have always been a form of a mystery to users, they have been removed.
Playlist ID's are now:
0 = PLAYLIST_MUSIC (Music Now Playing window)
1 = PLAYLiST_VIDEO (Video Now Playing window)
Any 3rd party applications which reference an internal playlists by number will need to be updated accordingly.
2) Removal of the Random button from the Now Playing windows
There has always been some confusion due to the Shuffle and Random buttons in the Now Playing windows. The following changes eliminate this confusion by removing the need for the Random button. So, the first change
to note is that the Random button is now gone from the PM3 skin. Skins need to be updated accordingly. (If the button exists, it just wont do anything.)
The builtin PlayerControl(Random) function now controls the Shuffle button of whatever the currently active playlist is (this is either Music Now Playing or Video Now Playing.)
The state of the Shuffle button is now saved, but continues to work like it did before where the list can be unshuffled.
Changes in Operation:
---------------------
My Music and My Video work a little differently due to how Music autostarts so I'll explain them seperately and detail where the difference exists.
1) My Music
When the Music Now Playing window is empty, newly queued items are automatically added in a shuffled order to the window. (They can still be unshuffled.) Music will autostart the queue from the top.
If the Music playlist is being playing and new items are queued, the new items are added in a shuffled order mixed directly into the playlist starting at two positions below the current song. (Crossfading keeps track of the "next" song.)
If the Music Now Playing window is not empty, and new items are queued, they are added to the bottom of the existing playlist but in a shuffled order. This is to maintain the previous operation in Music where if the playlist was not playing, and new items are queued, playback begins from the new items.
2) My Video
When the Video Now Playing window is empty, newly queued items are automatically added in a shuffled order to the window. Like before, Video queues do not auto start.
If the Video playlist is being played and new items are queued, the new items are added in a shuffled order mixed directly into the playlist starting at two positions below the current song. (For simplicity, the operation matches music. I am considering changing this but I need to check that the video player doesnt keep track of the "next" item first.)
If the Video Now Playing window is not empty, and new items are queued, they are added to the bottom of the existing playlist, in a shuffled order. Here's where the difference between music and video comes into play... Because video doesnt autoplay, if you queue single items, they will not be not be added in a shuffled order because Xbmc is really shuffling a list of 1 item. The work around is to start playback from the first added item, return to the gui while its playing, and add the others. This way the new items will be shuffled according to the rules above.
** edit **
One thing I forgot to mention is that now both Music and Video behave like WinAmp and Foobar context menu options in Windows. When you use "PLAY", the contents Now Playing window is cleared before the items are added.
d:xbmc SourcexbmcutilsGUIInfoManager.cpp(1264): error C2065: 'PLAYLIST_MUSIC_TEMP' : undeclared identifier
d:xbmc SourcexbmcutilsGUIInfoManager.cpp(1270): error C3861: 'PLAYLIST_MUSIC_TEMP': identifier not found, even with argument-dependent lookup
d:xbmc SourcexbmcutilsGUIInfoManager.cpp(1387): error C2065: 'PLAYLIST_VIDEO_TEMP' : undeclared identifier
d:xbmc SourcexbmcutilsGUIInfoManager.cpp(1393): error C3861: 'PLAYLIST_VIDEO_TEMP': identifier not found, even with argument-dependent lookup
Thanks again.
Personally, I would prefer the more configurable option...but I understand that would be more work for you guys, and a potential support nightmare...so the "on/off" switch would do just fine.
And regarding the "sort by: year" option...I think it's only availble in the video library.
This would allow one to view by album and sort by artist to get a true "Jukebox" effect - rather than only having the album title (and cover) which I may or may not recognize.
Also, when browsing by artist, could a "sort by" "Year" option be added? Call me anal, but I like to view an artists catalog in order of release as opposed to alphabetically, etc.
Thanks for the consideration!
#If you have any other info about this subject , Please add it free.# |

