Version 1.0.3 - 02.24.2004
Minor bug fix for CSSFrames. Safari does not seem to handle floats correctly (Or I am stupid). Subsequent
text after the float search box retains the inner margin even though both are both by a div.
Added a style="clear:both; border: 0;"
in a div statement to break the margin back out.
Added following options to ini file:
includeini= file or include= file
This lets you include another ini file from the first one. Each ini file can include another.
The second ini file can in turn include a third and so forth. Don't get carried away though.
I use this feature on the demo page.
Remember that YoDJ looks for an ini file with the same base-name as YoDJ program.
So YoDJ.php looks for YoDJ.ini. if you rename YoDJ.php to foo.php, it will look for foo.ini.
This allows you to run multiple YoDJ "Sites" from the same web directory and the include
option allows you to share common ini settings.
Only one include per file is allowed.
By default, YoDJ will detect the referring page that linked to YoDJ. In other words,
if you have a link in a web page, YoDJ will automatically show a HOME button that
takes the user back to that page. If you want to override the referring url that
YoDJ uses, you can do so with this setting. Under normal circumstances you won't
use this. I use it on my demo page.
This disables the HOME button in YoDJ. If you set this to true, the HOME button will
not appear when YoDJ is launched from a web page link. This option was added for
completeness. Under normal circumstances, the HOME button is a real convenience to your
Sample Skins or StyleSheets
The web site now has a collection of styleSheet that you can download.
If you come up with one that you want to share, email it and I will add it.
Added an FAQ file with useful hints to the website. There is an entry there that
explains how I use some of the above features for the online demo.
Sadly, not too many people are registering their copy of YoDJ.
I hate to cripple it in any way, but the demo version will randomly display
a "This is a Demo version, Press Button to Continue" page.
Version .98.9 - 12.01.2003
- Updated installer for Panther
- User Requested Feature: Added Stored or "Canned" Playlist option. This allows you to list saved playlists as file types.
A browsing user can select one or more stored or "Canned" playlists. Browsing users can even
select from a mix of "Canned" playlists and specific tracks or volumes of music.
- As a practical matter, the Stored Playlist option does not have to refer to music visible to YoDJ.
This can enable you to make some music available
as a collection of Playlists and not otherwise selectable. You can use this trick to create your own mixes for example.
- The default Canned Playlist types are .m3u, .play and .playlist
- As always you can override the canned playlist file extensions using the INI file
Version .98.7 - 11.06.03
- There is no change to YoDJ. This is just an update to the installer to enable a better install on OSX Panther
- The version number for YoDJ was bumped just for clarity.
- OSX Panther release includes a revised Apache httpd.conf file. The PHP addtype statements are enabled in an IfModule mod_php4.c
statement instead of being commented out. If the PHP modules are loaded, the addtype statements are added for Apache.
- This makes total sense, but I had to modify the installer script slightly to handle this as it was
not expeccting these statements in an IF(). The cleanest way to install would be to uncomment the type PHP
load statements in the middle of the httpd.conf and just add an alias at the bottom, but I think it is just good manners
to make all installer changes in one tidy section at the bottom.
- If you encounter any installer problems please do let me know.
Version .98.6 - 10.29.03
- Had to make some changes for Safari. It is more sensitive than IE and Mozilla in some ways
- Added code to frame mode to force order of loading. This is really only for Safari, but its harmless
- Disabled ID3 code for reading M4a files. Have to make a later version that handles defective AAC/ M4A files better
- I have an three subdirectories on my test machine and I noticed that Safari was slower at checking and unchecking the check boxes,
so I diddled the code a little to speed it up
- Notes: The OSX installer doesn't always turn PHP on correctly with Panther. There are format changes
in the Apache httpd.conf. If you already have PHP enabled it doesn't matter. I will update the installer on 11.1.2003 to handle
the Panther version of the Apache httpd.conf.
Version .98.3 - 10.24.03
Last Microsoft Bug fix screwed up YoDJ when it is running under IIS and talking to Internet Explorer.
This only effected IIS talking to IE - any other browser or web server combination was fine. I just love those guys!
Someone asked if YoDJ supports AAC / M4A files. Sure It does! It was off by default. The default was only MP3, so
I added AAC /M4A to the default settings.
This can be turned off by just setting the goodtypes value in the INI file to just MP3. Keep in mind that AAC
support is somewhat limited. iTunes supports it on both OSX and Windows. WinAmp will probably have a driver shortly. Windows
Media Player does not and probably never will.
Version: 98.2 - 10.21.03
- Change default for downloadable to False. This seems like more reasonable behavior.
- Completely Reworked CSS to use class where appropriate. Validated CSS and HTML with W3c validator.
- Warning: The previous version of yodj.css does not work with this release.
The class and ID names have been changed.
If you are updating from a previous YoDJ release, you should make sure that you also copy over the new
version of yodj.css
- Lots of minor cleanup of code
- Bugfix: Clean up extra call to display listing that caused extra form statement in search results page.
Don't know why w3c didn't complain.
- Addition Error Checking: Add extra error checking to ID3 code. Encountered a - you can't get there from here type of error.
It was a defect in one of my own MP3 files, but it generated an error. Catch it and suppress.
- Bugfix: Directory names are returned by the OS in arbitrary order. YoDJ then sorts the output in alpha order.
Sort routine didn't work properly in latest version of PHP.
- Bugfix: Make various changes to CSS as identified by W3C validator
- Bugfix: Suppress some url query data which didn't belong under CSS layers and No Frame modes. Harmless, but nice to be tidy.
- Bugfix: Was not displaying filename if there was a description in a note file. This is actually reasonable behavior,
but it should be supressed by explicit command. Change code so that filename is still displayed unless it
is supressed in the note file with hidename.
- Browser issues: Mozilla 1.4 had CSS bug that caused it to sometimes render the search box select control
incorrectly when the window was resized. New Mozilla 1.5 corrects this
- Browser issues: Safari seems to handle float boxes strangely. This only mattes when CSS frames and HTML frames are both
off. Added a little bit of code to get Safari to behave.
- Minor changes in way server name is rendered to handle strange way OSX mac renders default server name
- Change default file permission to file download=NO
- Updated OSX package installer to check document root, check for virtual servers and start Apache
if it is not aleady running
- Set OSX package installer to set yodj owner to the installing user - Hope this makes sense
- Tested YoDJ on IIS and PWS. Need to make one minor change to handle IIS differences. I will release
that vesion later after further testing
- Minor changes and tweaks
- Added css file name override to ini file
- Changed logic that looks for Ini file. If you rename YoDJ, it will look for an INI file of
same base name. This allows you to easily run multiple versions or looks out of the same directory
- Added better error checking so that it will shut down with a clear message if the user did not configure
the INI file correctly
- Changed way I get server name so that a user who runs a raw httpd.conf file under OSX will have
the IP address as name instead of the apple-centric machinename.local. The raw httpd.conf file has no server
name defined and this works fine for most web applications, but I need to construct a URL for the M3U file
and have to get the server name and pass that.
- Changed default RootDir in code to a dummy value that would be more obviously fake
- Added CSS framing code, but have it disabled for now. I do not like the way scrolling works on
- Wrote a nifty installer for OSX. It will:
- Read the users httpd.conf file and install under there
- Check to see if the user changed the default port value
- Enable PHP if it is not already enabled
- Add an Alias to the physical directory of the Music
- Parse the users iTunes configuration file for the physical location of the music
- Generate a web page with installation results
- Write a little applescript to launch the browser and display the installation results
- More fun with Microsoft. It turns out that the strange tight link between IE and Windows Media Player gets
even stranger during a POST operation. After a POST, IE still thinks that it should pass its original URL to WMM
- It was a hassle when it as a simple play e.g.. you click on the horn, but when you play from a playlist or
PLAY SELECTED, you are using session data and not something just passed from the URL. Even when you use the checkboxes
you are really building a flying Playlist. The trick here was to save the flying playlist and find a way for WMM - which really
thinks it is another browser session to have access to the IE session. A whole lot of nonsense to help out MS
- As always, this does not matter with any other browser or any other media player - only this combo
- This is really Dumb.. I opened a ticket with Microsoft and they were actually kind of cooperative and interested
in the problem. In the Meantime, I had to do a few really weird things to make things work and not mess up
any other browser/player combo. I do some funky manipulation with session variables and scan the user-agent
passed by the browser (see I can see when WMM when it thinks it is a browser) in order to give the WMM session access to the data
from a different browser session. Like I said, this is a bug and I am coding around it. No other Web Jukebox handles this
- If you have IE security set to Medium, which is the default on 2000, the Microsoft Windows Media Player will really think
it is accessing a new domain. Since it is re-requesting the URL that IE had authenticated itself in,
you may find - if you if you have security enabled for your site - that you will get an authentication challenge again. Like I said, this
is not the way it is supposd to work. Perhaps MS will fix this, or give me a certified workaround.
- In the meantime, I believe I have this licked.
- Next up will be some experiments with CSS layers to see if I can use that instead of frames with compliant browsers
It is not the hightest priority so I will do it as time makes itsel
- I really hate Microsoft sometimes. At some point they made a strange and so far as I can tell, undocumented change in a service patch to IE.
When Windows Media Play 7.x is the default player and under IE 5.5 with security patches or IE6.0, they transfer
the playlist href to Windows Media Player if they see the audio/Mpeg header. Nice of them not to document
this. I think it is a bug.
- Two things happen: The the Browser href is passed to the Media Player so the same playlist is asked for a second time.
This is obviously a resource waste. The second issue is that Media player doesn't know how to handle the header statements and
such in the data stream. Boom...
- I am not yet sure if it is the header statements exactly that kill WMM or the standard format M3U playlist format.
- As a temporary measure, I test for WMM as user agent and send a simpler non-standard playlist that WMM will handle
- If WMM is the default audio agent, it will only appear as the user agent under this patched (fixed) version of IE, not under Mozilla or any other browser
and of course if you are using a better audio client like Winamp it won't show up at all.
- I want to do a little more testing to see if the problem is just the header statements sent the second time to WMM. I suspect it
is, but I am too tired to deal with this today
- In the meantime, I have a fix in that will allow IE and WMM to work. Thank you Microsoft for your excellent
and completely non-existent documentation on this so that I could beat my head against the wall for a day.
- This is going to break a ton of applications
- Note: This change is important. Anyone with an updated IE or IE6 who uses WMM will get an error without it
- You will see two new settings in the ini file. They are actually default values and can be removed, but I put them there so you would so what
is going on
- Fiddling some with CSS. Trying to be specific with font family and pt size in order to get a consistent look across browsers - Some vary by family and default size. Let me know if something doesn't look right.
- Ola petersson noticed that the search results were being repeated twice. I was actually searching twice
so this fix should speed things up! Thanks to Ola for catching that
- Ola also wanted to stream files that were accessed on another machine through a network share. I have to
admit that one never occurred to me. I had to work out the correct configuration for Apache on how to do this and
I made one small change in the code to clean things up when people are using UNC's for share names. I am adding the
configuration information to the documents.
- moved all table width statements to a single colgroup statement. Less code and more accurate control. This
resolved for good all of the icon alignment issuees
- Malcolm pointed out that the folder and file descriptions were lining up on different fields. Corrected that
- Malcolm also suggested that the search function should be relative to where the user. I think that would be confusing
but I am open to suggestions
- I need some feedback on the breadcrumb info on the search results. is it ugly? Are my color choices bad or should
I revert to a less blocky display mode. Luckily, this is an operator choice as this is totally a stylesheet issue
- I have made a few stylesheet changes and some browsers (mostly microsoft) cache the stylesheets which is a good thing in
the short term for performance, but not when I am making a lot of changes. You may want to clear all browser temp files to
pick up the more recent style sheet changes. If the folder description for the "Music" directory is Bold you have the
old style sheet and should clear your temp files
- Changed Button types from type button to html tag button. This seems to agree with Safari better
- Fiddling with styling for search breadcrumbs. Colors still not right
- Fixed problem in search where user hit return when cursor was in text box. Different Submit mode
- Added user defined frame sizes
- Bottom frame does not reload properly for Safari/OSX but the html contents are correct. This must be a browser bug
- working on some kind of fix
- Minor changes to path tokenizer to account for differences between unix and DOS files systems
- Added beadcrumb links for items found in search. Much hassles getting table colors right
- Funny language, PHP escapes certain magic quotes characters by default. Rather change change configuration, added test for gpc_magic quotes and strip slashes
- struggling with layout of top menu. Trying to take up less space but leave flexibility for customizing
- Bottom menu doesn't reload for search and playlist modes in Safari browser, but the html code in browser is correct. Why
doesn't it display? Need to drink a lot before I figure that out!
- Added user defined frame sizes
- Retained orginal refer value so user can go "home" no matter how many interactions they have had. The Button will only appear
if the referer and the current address are not the same
- Fixed some problems with Mozilla Browser
- Cleaned up scripting code to start crunching it down to a smaller size
- added global search functions. Will probably enhance this feature some more
- Cleaned up some Table Alignment issues
- Still not happy with Style layout and colors, need to refine that
- Modified PlayList delete so that the user goes back to the playlist if there is still anything left
- Added Playlist delete feature
- css hover doesn't work on buttons and don't style buttons and href's the same, so I changed all bottom
buttons to Button and added java as a substitue for the href. This is a Hack, I'd like to see a better solution
- Changed some button text for clarity
- all design elements are controlled via CSS
- Added Playlist feature
- added frames, and ablity to enable/disable frames
- To be developed; Auto Turn Frames on as Needed
- all folders and files can be controlled via specific override
- folder and file imaging to be added
- All files and folders can be annotated with auth access control
- although each file/folder can be controlled, a single control file can be used
- I make heavy use of Frames because Browser support for css/layers is terrible
- But this means that I may still have some problems with cross frame events
I think I have those licked, but let me know
- You will note that some folder are not playable. This is intensional as I can make each folder playable or not depending on the total contents
- let me know what doesn't work!!