INTERACT FORUM

More => Old Versions => JRiver Media Center 20 for Mac => Topic started by: bMinor on March 10, 2015, 01:32:48 am

Title: Request: UPDATE new builds (not overwrite)
Post by: bMinor on March 10, 2015, 01:32:48 am
request to UPDATE new builds instead of just overwriting old ones to preserve any
customizations made to previous versions
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: JimH on March 10, 2015, 06:58:03 am
You can use a directory called "Custom Resources" in addition to "Default Resources" for certain things like skins.  That directory will be used if present and won't be overwritten.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: bMinor on March 10, 2015, 08:45:16 am
You can use a directory called "Custom Resources" in addition to "Default Resources" for certain things like skins.  That directory will be used if present and won't be overwritten.

I assume that works only when updating from within the app via the update channels under the help menu? (since a new installed app downloaded from the forum overwrites everything).
Does a 'Custom Resources' folder reside at the same directory level as the 'Default Resources' folder (the Data folder)?
Do I simply drop a skin folder and/or a resource.xml straight into the Custom Resources folder?

thanks!

I love MC!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: JimH on March 10, 2015, 11:27:11 am
I assume that works only when updating from within the app via the update channels under the help menu? (since a new installed app downloaded from the forum overwrites everything).
No install will overwrite Custom Resources. 
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: bMinor on March 10, 2015, 03:15:15 pm
No install will overwrite Custom Resources. 

maybe under Windows but not on my Mac.

a new install erases anything custom here under Mac OS X 10.10.2
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: JimH on March 10, 2015, 05:11:55 pm
The directory needs to be beside Default Resources.

Don't uninstall.  Just install the new build.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: bMinor on March 11, 2015, 02:50:03 am
The directory needs to be beside Default Resources.


I have no idea what "Beside" means.

>Don't uninstall.  Just install the new build.

I get 2 choices when i install: overwrite the old or keep both...


don't bother answering unless you are familiar with Mac terminology and also use it.

thanks anyway
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Y. G. Bae on March 11, 2015, 03:09:40 am
Hello Jim,

I just tried to make customs folders into the package of 20.0.80, and then installed 20.0.64. Unfortunately, as bMinor said, OS X only gives two options; replace old package and keep both. If I replace the old package, OS X basically deletes the old package and saves the new one, so customs folder inside of the old package also get erased. :(

As others already pointed out, I also feel that the skin files also should be located at Library/Application Support/J River for Mac version of JRiver MC.

I know we are asking a lot of stuffs, but we really want JRiver MC to flourish in Mac world. :)

Best regards,
Y. G.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: JimH on March 11, 2015, 06:39:04 am
Overwrite.

"Beside" means "same level" as the other directory.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: 6233638 on March 11, 2015, 08:44:06 am
Jim, that location exists inside the app on OS X.
And the current upgrade method is to replace the entire app.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: bMinor on March 11, 2015, 08:52:59 am
Jim, that location exists inside the app on OS X.
And the current upgrade method is to replace the entire app.

thank you!

requesting to change the current upgrade method so any customizations will be preserved
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on March 11, 2015, 09:26:34 am
I've been following this thread and the one about skins and have been trying to get new skins to work, particularly in a place that won't be over written.

Doing "Show Package Contents" on the Media Center app, I get a directory structure with many files and folders.  I focused on:

Contents/Resources/Skins/Standard View/

That seems to be where all the skins are.  Following the advice for "Custom Resources", I created the following directory structure:

Contents/Custom Resources/Skins/Standard View/

I tried to install a skin there, but what I downloaded was an MJP file.  Researching this, MJPs are script files, so I opened it with TextEdit and found a URL where the REAL skin file was located (a .ZIP file).  Downloaded and extracted that file to a new directory (in my Downloads folder), and now I have all of the skin files.  Within *that* structure, I found a directory named for the skin (the skin is named LP, so I found the LP directory).  

Next I put "LP" the structure like this:

Contents/Custom Resources/Skins/Standard View/LP/<all of LP's files here>

Restarted Media Center and.... nothing.

As a double check, MOVED the LP directory to:

Contents/Resources/Skins/Standard View/LP/<all LP files here>

Restarted Media Center and .... I've got the LP skin!

So I've got the technique correct, but I can't figure out the Custom Resources location apparently.  Where should this go?

Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: jimm2 on March 11, 2015, 11:08:13 am
You can use a directory called "Custom Resources" in addition to "Default Resources" for certain things like skins.  That directory will be used if present and won't be overwritten.

Jim, it's been explained in a few different threads why this doesn't work on a Mac today.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: chriswimlett on March 12, 2015, 10:45:51 am
Just to add my vote for new builds to update rather than overwrite JRiver.  ~/Library/Application Support/J River seems the logical place to extra skins, etc.

Chris
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Awesome Donkey on March 12, 2015, 03:08:32 pm
Actually the following directory would work best on the Mac, to account for multiple MC versions;

Code: [Select]
~/Library/Application\ Support/J\ River/Media\ Center\ 20/
For the Linux versions...

Code: [Select]
'~/.jriver/Media Center 20/'
So +1 from me for both the Mac and Linux builds.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: chriswimlett on March 12, 2015, 04:24:12 pm
Yes, that would be best.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: 6233638 on March 12, 2015, 06:31:35 pm
Location of skins/config files/similar aside, it would still be nice if MC had an update mechanism rather than having to manually replace the app.
Programs like Firefox seem able to do this without even putting up an administrator prompt now.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Awesome Donkey on March 12, 2015, 07:50:44 pm
Programs like Firefox seem able to do this without even putting up an administrator prompt now.

Likely because they're running the maintenance service as elevated in the background.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: chriswimlett on March 13, 2015, 06:58:09 am
It's not uncommon for an update to simply replace the app, and not a problem if user data isn't contained in the package.  I quite like being prompted for the admin password as it gives an extra feeling of security. 

I'd be happy with whichever way JRiver chose to implement this as long as skins, etc. are preserved between updates.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: ronfint on April 09, 2015, 05:37:28 pm
Just replying in order to keep this thread alive.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: bMinor on April 13, 2015, 07:11:59 am
Just replying in order to keep this thread alive.

and still no answer from the developer whether a change will be implemented
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on April 16, 2015, 01:32:36 am
Actually the following directory would work best on the Mac, to account for multiple MC versions;

Code: [Select]
~/Library/Application\ Support/J\ River/Media\ Center\ 20/
For the Linux versions...

Code: [Select]
'~/.jriver/Media Center 20/'
So +1 from me for both the Mac and Linux builds.

This seems like the most sensible way to do it.  MC should not store skins in the application package if it is going to overwrite them when you drag-drop to install the app.

So, I'll bump this with a +1 too.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: flight16 on May 21, 2015, 03:30:33 am
Bump to say I ran into this issue, too.  Would love to see it fixed because it's not making Media Center very nice to use on Mac.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Foxman50 on May 21, 2015, 09:47:04 am
Hi all

Just read this thread, im a total noob to both Mac and JRiver. I have created some custom views, not many, so that my albums order correctly. Are you saying that when i install an update these will be lost. Please tell me i'm wrong as ive not made a note of my changes.

Graeme
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Matt on May 21, 2015, 10:07:34 am
Just read this thread, im a total noob to both Mac and JRiver. I have created some custom views, not many, so that my albums order correctly. Are you saying that when i install an update these will be lost. Please tell me i'm wrong as ive not made a note of my changes.

Custom views and any other library changes will be preserved just fine.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on May 21, 2015, 11:24:32 am
That is correct.

Custom skins take a bit more elbow grease to preserve.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Foxman50 on May 21, 2015, 02:13:40 pm
Thanks for the clarification. Do i need to do anything or will they just be carried over
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Awesome Donkey on May 21, 2015, 02:18:42 pm
Custom views should/will be carried over automatically.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on May 21, 2015, 02:21:59 pm
Custom views should/ will be carried over automatically.

T,FTFY.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: ronfint on May 29, 2015, 07:13:31 am
Please fix this. Updating will remain tedious until it gets done.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on May 29, 2015, 08:23:41 am
I've got this problem down to creating two sets of symbolic links.

1.  Symlink for the Custom Resources directory.
2.  Set of symlinks, created with one command, that links all of my non-standard skins into the main skins directory.

I should really just put these into a script and then I could just fire it when I install a new version of MC.  As it is, I'm just typing them each time, which is rather infrequent since updates don't happen all that often.

If there were some call for this, I could document and/or script it.

But yes, it *would* be nice if it just worked by having the logic built in to the Application.  :)

Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Awesome Donkey on May 29, 2015, 08:45:41 am
A script would be most welcome!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on May 29, 2015, 04:35:22 pm
But yes, it *would* be nice if it just worked by having the logic built in to the Application.  :)

Yep.  This should be easy enough to fix in a future build, I'd think.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Afrosheen on May 31, 2015, 12:55:38 pm
Yep.  This should be easy enough to fix in a future the next build, I'd think.
T,FTFY ;)
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on May 31, 2015, 04:13:48 pm
Ok, I've written a small script to link a Custom Resources directory, and everything in a Standard View skins directory to the OSX application.  This will allow you to maintain a Skins directory and Custom Resources directory *outside* of the app, so they don't get overwritten with updates.  You'll need to run the script any time you update the app, but that's it.

My script expects:

Custom Resources at:
$HOME/Library/Application Support/J River/Media Center 20/Preserve/Custom Resources

Skins for Standard View at:
$HOME/Library/Application Support/J River/Media Center 20/Preserve/Skins/Standard View

Where $HOME is your home directory.

You can change either one of these (or both) if you want.  I chose the directory "Preserve" because these are files and settings to be preserved when a new installation happens.

Here's the script:

Code: [Select]
#!/bin/bash


# Location of Custom Resources directory to be linked
CUSTRES="$HOME/Library/Application Support/J River/Media Center 20/Preserve/Custom Resources"
# Location of Skins directory to link.
SKINS="$HOME/Library/Application Support/J River/Media Center 20/Preserve/Skins/Standard View"
# JRiver Media Center application
MC="/Applications/Media Center 20.app"

if [ ! -d "$MC" ]; then
echo "Can't find Media Center at $MC.  Exiting."
exit 1
fi

if [  -d "$CUSTRES" ]; then
echo "Linking $CUSTRES"
ln -s "$CUSTRES" "$MC/Contents/Resources/Data/Custom Resources"
else
echo "Can't find Custom Resources directory at $CUSTRES .  Skipping"
fi

if [  -d "$SKINS" ]; then
echo "Linking Skins:"
ls "$SKINS"
ln -s "$SKINS"/* "$MC/Contents/Resources/Skins/Standard View"
else
echo "Can't find Skins directory at $SKINS .  Skipping"
fi


I've tested this a little, but I'm the only user so far so...

It will produce errors if you run it more than once because the links will fail, as they are all already there.  This is harmless and you can run it more than once if you want.  If you add Skins, you can run it again to add them.  If there's some call to do so, I can change the script to clean out all custom Skins first and then add them all back in.

Of course the cleanest way to do this is to re-install the App from the DMG file, then run the script again.  That way you get a fresh start.

If scripts are new to you, copy the script text up above.  Save it to a file.  Then open a terminal and navigate to where you have the script at.  Pretend you have named it jriver_link_osx.sh .  Then type this in the terminal:

chmod 755 jriver_link_osx.sh
./jriver_link_osx.sh

That should do it.

Let me know how this works, or any bugs.

Thanks,

Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on June 01, 2015, 10:59:41 pm
I've updated the script so it doesn't produce any errors, even if links are already present.  It also now will remove links to any Skins you might have removed from your own Skins directory, and relink to all the Skins you still have there.

So adding a new skin is now as easy as just copying it to your Skins directory (~/Library/Application Support/J River/Media Center 20/Preserve/Skins/Standard View) and then running the script.

Code: [Select]
#!/bin/bash

#
# Location of Custom Resources directory to be linked
CUSTRES="$HOME/Library/Application Support/J River/Media Center 20/Preserve/Custom Resources"
# Location of Skins directory to link.
SKINS="$HOME/Library/Application Support/J River/Media Center 20/Preserve/Skins/Standard View"
# JRiver Media Center application
MC="/Applications/Media Center 20.app"

if [ ! -d "$MC" ]; then
echo "Can't find Media Center at $MC.  Exiting."
exit 1
fi

if [  -d "$CUSTRES" ]; then
if [ -L "$MC/Contents/Resources/Data/Custom Resources" ]; then
echo "Link to $CUSTRES already exists."
else
echo "Linking $CUSTRES"
ln -s "$CUSTRES" "$MC/Contents/Resources/Data/Custom Resources"
fi
else
echo "Can't find Custom Resources directory at $CUSTRES .  Skipping"
fi

if [  -d "$SKINS" ]; then
echo "Removing old linked skins"
find "$MC/Contents/Resources/Skins/Standard View" -type l |
while read f
do
rm "$f"
done
echo "Linking Skins:"
ls -m "$SKINS"
ln -s "$SKINS"/* "$MC/Contents/Resources/Skins/Standard View"
else
echo "Can't find Skins directory at $SKINS .  Skipping"
fi


Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on June 02, 2015, 12:22:23 am
Nice. Thanks Brian. It should be built in, but this will help until then.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: adamt on June 02, 2015, 11:21:07 am
Coming next build: Skins are now stored in Application Support instead of the package. 
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on June 02, 2015, 11:25:53 am
^ That should be a nice feature. :)

What about Custom Resources like Resource.xml (for doing key binding) ?  Right now the Custom Resources directory must be created inside of the application, much like the Skins.  In a different location though.

Thanks for working on this!

Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Awesome Donkey on June 02, 2015, 11:52:03 am
The build is out. :D Going to test this.

What about Custom Resources like Resource.xml (for doing key binding) ?  Right now the Custom Resources directory must be created inside of the application, much like the Skins.  In a different location though.

I'm wondering this too. For example the ModernCards skin requires and uses Custom Art, Custom Resources and Custom Webpages folders under the Data directory.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Hendrik on June 02, 2015, 12:33:19 pm
Unfortunately, the code currently requires the Custom and Default folders to reside in the same directory, so its not an easy fix.
Skins was a big block of things that could be moved as a whole, which made it a bit easier.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on June 02, 2015, 12:35:40 pm
Build 115 does externalize the Skins directory and it works!  It's different than I thought, because it *creates* a new Skins directory under Application Support/JRiver...blahblah .  It seems to copy these on first execution.  You can then add custom skins in that same directory and it picks them up without a restart.

It probably goes without saying, you shouldn't delete this directory.  Don't ask me how I know. :)

The Custom Resources, web pages, art, etc aren't addressed by this update, but JRiver didn't claim they were going to, so I wasn't expecting it.  The symlinks I've been creating work fine for the Custom Resources directory with this build.  Maybe next build will include the three custom directories too.

Thanks for the update JRiver team.  If Adam was responsible for this, thank you directly to Adam as well.  :)

Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on June 02, 2015, 01:07:02 pm
Unfortunately, the code currently requires the Custom and Default folders to reside in the same directory, so its not an easy fix.
Skins was a big block of things that could be moved as a whole, which made it a bit easier.

Hmmm.  Why not just use ln -s on first execution?
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Hendrik on June 02, 2015, 01:15:17 pm
Hmmm.  Why not just use ln -s on first execution?

I guess that might actually work. John, Adam? Thoughts?
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: adamt on June 03, 2015, 11:04:49 am
The next build will also look for Custom Art, Custom Resources, and Custom Web Pages in Application Support > Data.  We considered a soft link, but decided against it. 
Also, Custom Webpages weren't working on Mac so there is a fix for that too.

Thanks for the help!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: glynor on June 03, 2015, 03:17:40 pm
Adam!  You're back.  Good to have you!  ;D

PS.  Also, thanks.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: adamt on June 03, 2015, 03:55:50 pm
Thanks Glynor!  Good to be back!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: bMinor on June 03, 2015, 03:58:12 pm
The next build will also look for Custom Art, Custom Resources, and Custom Web Pages in Application Support > Data.

build 20.0.116:

WOW....custom resources.
It WORKS!
no more copy/pasting code with ea update.

THANK YOU!!!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: blgentry on June 03, 2015, 04:13:54 pm
Just tested .116 and it all works as advertised.  Thanks for the effort guys!  The Mac version feels even more solid now.  :)

Brian.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: ronfint on June 03, 2015, 05:07:04 pm
I'd like to add my thanks as well!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Afrosheen on June 04, 2015, 10:42:01 am
Yes, same here! Thank you!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Afrosheen on June 15, 2015, 03:09:21 pm
I've added a modified "FileAssociations.xml" file to import ebooks in the "Application Support/J River/Media Center 20/Data/Custom Resources" folder for J River, but it doesn't change the file types that I can import as opposed to if I were to input this file in the app itself. 

Am I missing something?
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: JimH on June 15, 2015, 03:55:41 pm
What file types?  We can add them.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Afrosheen on June 15, 2015, 04:21:16 pm
I'd like to import ebooks, i.e. .epub and .mobi files.  I followed this tutorial (http://yabb.jriver.com/interact/index.php?topic=87545.0) to organize my ebooks with JRiver.

Thanks JimH!
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Matt on June 16, 2015, 06:50:08 am
I'd like to import ebooks, i.e. .epub and .mobi files.  I followed this tutorial (http://yabb.jriver.com/interact/index.php?topic=87545.0) to organize my ebooks with JRiver.

Thanks JimH!

Hi there,

The next build will support import of .epub and .mobi files.  They'll be categorized under Data > Electronic Books in the import dialog.

Cheers.
Title: Re: Request: UPDATE new builds (not overwrite)
Post by: Afrosheen on June 16, 2015, 12:13:15 pm
You guys absolutely rock!!!  Thank you!!