Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Sony Reader > Sony Reader Dev Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 12-21-2006, 11:29 AM   #1
cmumford
Connoisseur
cmumford began at the beginning.
 
cmumford's Avatar
 
Posts: 69
Karma: 34
Join Date: Dec 2006
Location: Dallas, TX
Device: PRS-500
Developer needs help getting started

Hello:

I'm a new Sony Reader owner - and a very happy one. Like the rest of you I've experimented with the best way to get my own content onto the device. RTF seems to give me the best results, but I'd really like to be able to produce documents that are of the same quality as those that I buy on the CONNECT store - and I believe that this means BBeB/LRF.

I've looked at all of the tools linked to in the "BBeB (LRF) generation tools" thread. I've had the most success with BBeBook and BookDesigner but neither of them have the usability nor produce the quality of books that I would eventually like to read.

I decided to write my own program to do this. Partly for the fun of doing it, and partly for the benefits of the tool. I started with the BBeBook source (Java), and ported it all to .Net. I've started a new Google open source project named BBeBinder, and I will put the source here fairly soon. Unfortunately it looks like the LRF format is not documented, and is also only partially reverse engineered. I came across the LibrieWiki that had some information on the format, but it's obviously incomplete.

So my questions are:
  • Is there a better LRF reference out there?
  • Is there a better LRF creation tool that I've not seen referenced anywhere on this forum? I don't want to reinvent the wheel here.
  • Has anybody petitioned directly to Sony to release the LRF format?
  • I can do italic text, but not bold, bolditalic, or any other styles. Has anybody figured this out?

Any guidance you guys can offer a new developer would be greatly appreciated.
cmumford is offline   Reply With Quote
Old 12-21-2006, 12:16 PM   #2
Nightwing
Addict
Nightwing will become famous soon enoughNightwing will become famous soon enoughNightwing will become famous soon enoughNightwing will become famous soon enoughNightwing will become famous soon enoughNightwing will become famous soon enough
 
Nightwing's Avatar
 
Posts: 303
Karma: 541
Join Date: Oct 2006
Device: Cowon A2 Dell x3i, Sony Reader & Eee PC!
Same here... Have seen other reference but they are all off this same set of info. Or at least the one I have found.

Working on something to breaking out the "blocks" but its on the shelf due to this is the busy time of the year for me.

Good luck on your quest. ^_^
Nightwing is offline   Reply With Quote
 
Advertisement
Old 12-21-2006, 12:20 PM   #3
Laurens
Jah Blessed
Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.
 
Laurens's Avatar
 
Posts: 1,295
Karma: 1373
Join Date: Apr 2003
Location: The Netherlands
Device: iPod Touch
See this thread.
Laurens is offline   Reply With Quote
Old 12-21-2006, 01:05 PM   #4
cmumford
Connoisseur
cmumford began at the beginning.
 
cmumford's Avatar
 
Posts: 69
Karma: 34
Join Date: Dec 2006
Location: Dallas, TX
Device: PRS-500
Quote:
Originally Posted by Laurens
Thanks. So do you recommend that my tool create intermediate LRS files (and then pass them through the Book Creator DLL - assuming I can find it), or do you recommend writing directly to LRF?
cmumford is offline   Reply With Quote
Old 12-21-2006, 01:16 PM   #5
Laurens
Jah Blessed
Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.Laurens is no ebook tyro.
 
Laurens's Avatar
 
Posts: 1,295
Karma: 1373
Join Date: Apr 2003
Location: The Netherlands
Device: iPod Touch
Quote:
Originally Posted by cmumford
Thanks. So do you recommend that my tool create intermediate LRS files (and then pass them through the Book Creator DLL - assuming I can find it), or do you recommend writing directly to LRF?
The Xylog Parser DLL is not officially available yet. I think the mapping from LRS to LRF is fairly straightforward, though. There's the lrs2lrs Python script that you can use as a reference. One big advantage of generating LRFs directly, is that you can support platforms other than Windows.
Laurens is offline   Reply With Quote
Old 12-21-2006, 01:54 PM   #6
quantumskie
Member
quantumskie began at the beginning.
 
Posts: 14
Karma: 10
Join Date: Nov 2006
Location: Singapore
Device: Clié TH-55/Librié
Quote:
Originally Posted by cmumford
Thanks. So do you recommend that my tool create intermediate LRS files (and then pass them through the Book Creator DLL - assuming I can find it), or do you recommend writing directly to LRF?
You can still find the book creator program here. That's where I got my copy. The learning curve to use the problem however is rather steep at first as the program is totally not inutiative and you'll probably have some problems compiling the first book. But I have found by compiling really simple books and setting one feature at a time, it provides a fair bit of insight into how the tags work in a LRF.

I have since stopped exploring the lrf file directly though since I have found it to be far easier to simply use the XylogParser.dll to convert the LRS file. There are some hipcups I encountered while using the Parser to compile though and one of the more irritating ones is that it does not understand some of the named entities used in HTML for certain symbols. Error have been quite hard to find since the parser just simply refuses to compile the file.

Last edited by quantumskie; 12-21-2006 at 02:05 PM.
quantumskie is offline   Reply With Quote
Old 12-21-2006, 02:11 PM   #7
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,450
Karma: 5383257
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
I don't have much information to give you, only a request. Consider coding in python. I dont have anything against .Net. I ask because I'm writing a GUI in python and have already reverse engineered the USB protocol the reader uses also in python. Eventually, once the GUI's basic functions stabilize, I will be looking at porting makelrf/BBeBook to python. It would be nice if your codebase was easily integrable into the GUI codebase.

I already have a python class that reads/writes all the metadata from an LRF file, that may be a good place to start.
kovidgoyal is offline   Reply With Quote
Old 12-21-2006, 02:31 PM   #8
cmumford
Connoisseur
cmumford began at the beginning.
 
cmumford's Avatar
 
Posts: 69
Karma: 34
Join Date: Dec 2006
Location: Dallas, TX
Device: PRS-500
Thanks for the pointers. I went and downloaded the files, and also noticed the *.lrs files there, which I've been looking for - there were two. I tried to convert these using the lrs2lrf program, and the log file contained "Can not create LRF Header" - and also some Japanese.

Is this the problem that you are seeing? I would have thought that the pages this guy posted on his site would have been properly formatted and parsable by XylogParser.dll so I'm thinking that maybe I'm doing something wrong.
cmumford is offline   Reply With Quote
Old 12-21-2006, 07:03 PM   #9
cmumford
Connoisseur
cmumford began at the beginning.
 
cmumford's Avatar
 
Posts: 69
Karma: 34
Join Date: Dec 2006
Location: Dallas, TX
Device: PRS-500
Quote:
Originally Posted by kovidgoyal
I don't have much information to give you, only a request. Consider coding in python. I dont have anything against .Net. I ask because I'm writing a GUI in python and have already reverse engineered the USB protocol the reader uses also in python. Eventually, once the GUI's basic functions stabilize, I will be looking at porting makelrf/BBeBook to python. It would be nice if your codebase was easily integrable into the GUI codebase.

I already have a python class that reads/writes all the metadata from an LRF file, that may be a good place to start.
I've done a little Python, but not much, and am much better versed in C#, C++, or Perl. I'm already creating full-up BBeB's with the header as well as the data (thanks to BBeBook), but it looks like the authors of makelrf and BBeBook never fully figured out the format. So it looks like I'm stuck using XylogParser.dll and creating intermediate LRS files.

.Net is just a better choice for me because it has fantastic support for XML and schemas. Eventually I want to create a web service to do this, which is also easy in .Net.

It should be call-able from Python, and with Mono should also run on Linux/Mac, but I doubt that XylogParser.dll will run there.
cmumford is offline   Reply With Quote
Old 12-21-2006, 07:13 PM   #10
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,450
Karma: 5383257
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
OK...so you aren't reverse-engg the LRF format? Just using lrs2lrf?
kovidgoyal is offline   Reply With Quote
Old 12-21-2006, 07:14 PM   #11
igorsk
Wizard
igorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfoldedigorsk reads XML... blindfolded
 
Posts: 3,443
Karma: 52235
Join Date: Sep 2006
Location: Belgium
Device: PRS-500/505/700, Kindle, Cybook Gen3, Words Gear
Check lrf2lrs for more details on the real structure of LRF. Or LRFParser (though that one cannot handle some files...).
igorsk is offline   Reply With Quote
Old 12-21-2006, 08:27 PM   #12
cmumford
Connoisseur
cmumford began at the beginning.
 
cmumford's Avatar
 
Posts: 69
Karma: 34
Join Date: Dec 2006
Location: Dallas, TX
Device: PRS-500
Quote:
Originally Posted by kovidgoyal
OK...so you aren't reverse-engg the LRF format? Just using lrs2lrf?
Well I'd love to be able to create the LRF's using all native code without having to call out to a separate DLL, but I'm really not up to reverse engineering that format. That's a whole lot of work and time and I'm mostly just looking for a solution.

I'm using what lrs2lrf uses: XylogParser.dll.
cmumford is offline   Reply With Quote
Old 12-22-2006, 03:28 AM   #13
SeNS
Enthusiast
SeNS will become famous soon enoughSeNS will become famous soon enoughSeNS will become famous soon enoughSeNS will become famous soon enoughSeNS will become famous soon enoughSeNS will become famous soon enoughSeNS will become famous soon enough
 
SeNS's Avatar
 
Posts: 41
Karma: 728
Join Date: Jun 2006
Device: Google Nexus 7
Quote:
Originally Posted by cmumford
That's a whole lot of work and time and I'm mostly just looking for a solution.
It takes around a week or little bit more ;-) Search http://www.the-ebook.org/forum (or here) for LRFParser announcement.

P.S. Probably it's good motivation for start learn Russian ;-)
SeNS is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Trying to get started . . . GLL Calibre 3 04-29-2010 04:36 AM
New Developer - Getting Started ssbkt Calibre 10 01-05-2010 07:15 AM
Getting Started Pinecone Calibre 2 11-02-2009 02:14 AM
Let's getting started ! ^^ scaza Introduce Yourself 2 03-04-2009 01:25 PM
Can u help me to get started? jeremygold Sony Reader 2 01-02-2009 01:27 PM


All times are GMT -4. The time now is 11:10 PM.


MobileRead.com is a privately owned, operated and funded community.