Rockbox Technical Forums

Installation / Removal => Rockbox Utility => Topic started by: biohacker001 on October 16, 2012, 05:36:18 PM

Title: Access Request for Rockbox Utility Source (One-Time Only)
Post by: biohacker001 on October 16, 2012, 05:36:18 PM
Ok, so i've had two ideas in the past week concerning Rockbox. The first, I've already presented... The second is in this topic.

Ok, so usually, people need to load up their bulky media player to synchronize files to rockbox players... I'd like to make a modified version of the Rockbox Utility that can sync these files to the player on connection, makes an identifier file in the rockbox directory to tell you  what player it is (so it doesn't sync if, say, your friend plugs THEIR rockboxed mp3 player into your computer. In addition to that, i wish to add the ability to choose default directories for the player, also contained in aforementioned Identifier file. I am much more experienced with programming on computers (platform agnostic. I can program on all of them), so this should be much easier than the rockbox plugin, which will take a backseat to this if i get the approval.

I am looking for one-time-only RO access to the source code for the rockbox utility, for a basic git clone of it, just so i can have a copy to modify to release the first version of this utility. I am also hoping for a few opinions on this (be it "it's a great idea!", "That idea sucks!", or, my personal favorite: "Wtf? You're only seventeen. Anyone who would be willing to give you access to their source code should be hanged!". I've heard the last one several times, and it's always fun to see their response when i do what i said i'd do.

Anyway... Possible?
-Jon
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: torne on October 16, 2012, 05:57:05 PM
All of our source code is already available publicly.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: biohacker001 on October 16, 2012, 06:16:51 PM
Oh... None of my pulls gave me the option to compile the utility.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: bluebrother on October 16, 2012, 06:55:16 PM
http://www.rockbox.org/wiki/RockboxUtility#Development and http://www.rockbox.org/wiki/RockboxUtilityDevelopment#How_To_Compile (though the latter is somewhat out of date -- it still talks about using svn, which isn't true anymore). And the former not only has binaries linked but also the source code. We always release both source code and binaries.

And personally I'm not a fan of the idea -- Rockbox Utility is intended as installer for Rockbox, not some fancy does-everything tool. IMO there are enough tools around for syncing files that do a sufficient job, no need to redo things. But if you want to work on it ... In case you want to contribute please use gerrit.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: torne on October 16, 2012, 06:57:40 PM
http://git.rockbox.org/?p=rockbox.git;a=tree;f=rbutil/rbutilqt
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: saratoga on October 16, 2012, 08:08:02 PM
If git is a problem, you could also use the source tarball from our downloads page:

http://download.rockbox.org/rbutil/source/RockboxUtility-v1.3.0-src.tar.bz2
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: biohacker001 on October 17, 2012, 10:12:56 PM
Thanks. I know it's designed as an installer, and quite possibly it would be a better idea to make a separate utility to do this... But i don't as of yet understand how the utilities "Auto-Detect" function works... Seeing that it's not preferred, i think i'm gonna study just that part, and make a utility to do this.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: xpmule on October 17, 2012, 11:08:10 PM
personally i avoid all syncing options in all my media players.
i have waaaay too much music to get into syncing and i have
an album centric collection where everything revolves around albums
as does my playing habits.. in other words i carefully select albums i want and add them.

had no idea the RB tool did any transferring lol

i use winamp on windows mainly because of the custom theme
and layout i have on it (theme uses classic pro)

I despise the windows media player media library layout and functionality.
Also i forget a lot how many people actually like doing something i hate (sync'ing)

Its nice to be able to do what you want how you want though.
And if you think there is a need for your tool/idea than go for it.
i too would agree that a separate tool sounds like a better concept to me.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: bluebrother on October 18, 2012, 05:38:11 AM
But i don't as of yet understand how the utilities "Auto-Detect" function works... Seeing that it's not preferred, i think i'm gonna study just that part, and make a utility to do this.

Scan all drives and look for a file "/.rockbox/rockbox-info.txt". That's it. All other detection is only interesting if you don't have Rockbox already installed.

had no idea the RB tool did any transferring lol

It doesn't. And I don't consider it likely to get such a feature, except if others fork it, but a fork won't become the official installer.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: biohacker001 on October 18, 2012, 07:36:56 PM

had no idea the RB tool did any transferring lol

It doesn't... The whole point of my idea was to add the feature so you didn't need the massively straining load a regular media player creates when syncing. Since it's rockbox oriented, you could solve this by using batch/bash/command scripts to 1: check if the file is an appropriate type, and 2: if the file is in a correct format, copy it to the default location the user set for that media format. Using the OS's copy/delete commands would speed up the process and it wouldn't require the bulky media player to be running.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: saratoga on October 18, 2012, 07:47:56 PM
It doesn't... The whole point of my idea was to add the feature so you didn't need the massively straining load a regular media player creates when syncing.

Generally speaking, copying files is not a computationally difficult task.

Since it's rockbox oriented, you could solve this by using batch/bash/command scripts to 1: check if the file is an appropriate type, and 2: if the file is in a correct format, copy it to the default location the user set for that media format. Using the OS's copy/delete commands would speed up the process and it wouldn't require the bulky media player to be running.

I gather you're not too familiar with programming languages.  The actual shell commands you issue use the same underlying APIs as c/c++ functions (since in fact they're written in c).  There no real advantage to using a shell for things like this, and in fact its probably faster to just directly use the underlying APIs for things like file access.  Its certainly more portable since not all systems have bash. 

My general advice would be to pick a media player you like, and then implement a plugin for it that handles what you want to do.  You can use the method bluebrother suggested for detecting rockbox devices.  You probably don't want to use rbutil though. 
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: biohacker001 on October 18, 2012, 08:02:47 PM
I am familiar, more or less, with C programming. I'm still learning C++, but i know enough to do most tasks, and to teach myself the rest.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: bluebrother on October 19, 2012, 04:14:07 AM
I am familiar, more or less, with C programming. I'm still learning C++, but i know enough to do most tasks, and to teach myself the rest.

Don't claim it, prove it. Provide patches so people can judge your work, not your claims. Developers won't believe your claims until they actually see the code. Well, at least most will :)

Plus, "familiar" can mean something completely different depending on your view, so just stating it won't convince anyone.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: xpmule on October 19, 2012, 05:35:09 AM
first thing i thought of on this topic is what mode..
last year i wrote a commandline tool for windows in VS c++
to transfer albums etc to the Fuze+ but it used the MTP protocol
and i'm assuming the topic creator here would be trying to do an MSC style method.
I basicly got tired of working on it after i proved to myself it worked lol
So its a proof of concept project for me left unfinished.
The hardest part was through trial and error figuring out what syntax was needed
to insert album art.. extensive research i did showed that was the common problem on the net
and no one on the net had posted an answer either.. you'd just see the usual non working advice
which is typical on the net lol
ask..
but the bottom line is YOU need to to step up
waiting for crap on the net from people is a waste of time
by the time you get a response to a question you can already figure it out on your own ;)

Anyways if anyone is interested in the MTP transfer code let me know i would share it..

oh and i guess i misunderstood about the transfer files issue.
I thought the guy said it did but i only used the tool once for like 2 minutes
so i couldn't remember if it did anything like that.
Title: Re: Access Request for Rockbox Utility Source (One-Time Only)
Post by: biohacker001 on October 19, 2012, 02:04:53 PM
I am familiar, more or less, with C programming. I'm still learning C++, but i know enough to do most tasks, and to teach myself the rest.

Don't claim it, prove it. Provide patches so people can judge your work, not your claims. Developers won't believe your claims until they actually see the code. Well, at least most will :)

Plus, "familiar" can mean something completely different depending on your view, so just stating it won't convince anyone.

That's my intention. And by familiar, i simply meant i've ben around it and have learned it. My code isn't what you could call streamlined or efficient, unless you have only seen code written by a script kiddie (i know that doesn't make sense. Thats the point), but it gets the job done. I know, more claims... I won't release patches, as most people aren't gonna want to compile the binary of this program to use it. I'm going to release binary versions, with source available. Since we have already moved away from making a modified Rockbox Utility, I think this topic's title is now wrong... Anyway, i'll stop discussing this on here until i have a semblance of a first release. Thanks for you help.