Re: [concordance-devel] libIRremotes (Re: Patches for major update of IR code learning)

2008-06-23 Thread Phil Dibowitz
Andreas Schulz wrote:
 Accepted (and almost completed). Just not quite sure if this will also 
 work with the python bindings. In addition, a single-shot application
 like concordance will IMHO not actually suffer too much from a small 
 memory leak. I've seen other applictaions at work, running 24/7 for 
 weeks, where even few bytes leaking here and there eventually crashed
 the system, but that's a completely different story..

Just because we run only for a short time does not mean that memory
leaks are acceptable in our codebase. It's not clear to me if you were
implying they were or not, but just to be clear... they're not.

 Is this library intended to support anything other than Pronto codes
 (e.g. CIR, RC5, ... encode/decode)? If not, naming the library something
 with pronto in the name seems like a good idea (ignoring trademark
 issues anyway.) At least, something much less generic would be good.
 
 You probably missed the paragraph in the IGN^H^H^HREADME file:
 Future extensions should also include en-/decoding of standard
 IR protocols like the NEC and RC5 protocols.

Hmm. The name doesn't really bother me, but just for discussion sake...
I'll throw this into the mix.  How about something like libirconvert, or
libirparse or libirencode - since there's nothing specific about remotes
in the library.

-- 
Phil Dibowitz [EMAIL PROTECTED]
Open Source software and tech docsInsanity Palace of Metallica
http://www.phildev.net/   http://www.ipom.com/

Never write it in C if you can do it in 'awk';
 Never do it in 'awk' if 'sed' can handle it;
 Never use 'sed' when 'tr' can do the job;
 Never invoke 'tr' when 'cat' is sufficient;
 Avoid using 'cat' whenever possible -- Taylor's Laws of Programming




signature.asc
Description: OpenPGP digital signature
-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php___
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel


Re: [concordance-devel] libIRremotes (Re: Patches for major update of IR code learning)

2008-06-22 Thread Andreas Schulz
On Sunday 22 June 2008, Stephen Warren wrote:
 Phil Dibowitz wrote:
  Stephen Warren wrote:
  It'd be nice if all symbols (types, values, functions, etc.) were all
  prefixed with e.g. IRR_/irr_ to ensure they never conflict with any
  other library.
  ACK for the public functions, definitely.
  I highly prefer lower case.
 Yeah, I meant irr_ for functions, IRR_ for defines/enums.

Accepted - admittedly, I tend to ignore the lack of distinct 
namespaces in 'C'.

  Doesn't the LIRC project have a library that does this kind of thing
  already, that could be re-used instead of re-inventing the wheel? In
  fact, don't they have a big database of key codes that might be useful?
 
  I was going to go do some research on if another library already did
  this, actually, but never got around to it. If another library already
  supports the actions we're looking for with a decent API, we shouldn't
  merge our own without good reason.

 I took a look at LIRC. It doesn't seem like they have a separate
 NEC/RC5/... protocol encode/decode library (although perhaps they have
 that code just hidden inside lircd or something). I guess looking at the
 Pronto format, it's also essentially just a list of mark/space timings,
 so perhaps needing IR protocol encode/decode functionality isn't that
 common right now, so a new library makes sense. Still, I didn't search
 outside of the LIRC project yet, so that'd be worth doing too.

I have been using LIRC for a while to program undocumented codes into
my Harmony (through a second learing remote, since I didn't know about
libconcord by then). I didn't discover any remotely usable interface
inside either, except maybe if someone would write a device driver that 
spits out IR codes in Harmony posting format, instead of sending the
signals to some hardware.
The LIRC devices database, except for the fact that it can be easily 
edited and new codes can be added by the user, is otherwise IMHO
not even remotely a competitor to the Logitech database.
Recently, a converter for Pronto hex files to LIRC config files has been
added to LIRC, but that is no much use here either (even though it's
written in Python).
There seem to be a few tools for generating Pronto codes from NEC, RC5,
etc. - but AFIAK, all of them are for Windows (as all Pronto programming),
and most likely closed source.


Coming back to Stephen's other remarks from the first post:

On Sunday 22 June 2008, Stephen Warren wrote:
  scanf_pronto_hex, printf_pronto_hex: It seems like accepting a FILE
  *file or int fd instead of char *filename would be more flexible,
  and avoid all the special-cases for stdout.

I guess I should probably even drop the file/stdin/stdout for good and
just leave the string-pronto_hex version, handing the responsiblity
for file/console-I/O to the caller. I just used them to start, since 
scanf was easier to handle than sscanf.

  For APIs that return pointers to memory, please define whether the
  client or library is reponsible for de-allocating the memory, and when
  this will occur. Please provide an API for clients to call to do this if
  required.

Accepted (and almost completed). Just not quite sure if this will also 
work with the python bindings. In addition, a single-shot application
like concordance will IMHO not actually suffer too much from a small 
memory leak. I've seen other applictaions at work, running 24/7 for 
weeks, where even few bytes leaking here and there eventually crashed
the system, but that's a completely different story..

  When calling pronto_to_pulses, how does one initialize the pronto_hex
  structure? Is there some kind of standard representation for the data in
  that structure that a user would use? If so, it seems that libIRRemotes
  should provide a function to parse that user input and convert it to
  pronto_hex, rather than making each client application write that code
  themselves.

I though it was obvious (apparently not?) that that is exactly the purpose
of (s)scanf_pronto_hex - string or text file with hex code gets in, 
pronto_hex structure out.

  Is this library intended to support anything other than Pronto codes
  (e.g. CIR, RC5, ... encode/decode)? If not, naming the library something
  with pronto in the name seems like a good idea (ignoring trademark
  issues anyway.) At least, something much less generic would be good.

You probably missed the paragraph in the IGN^H^H^HREADME file:
 Future extensions should also include en-/decoding of standard
 IR protocols like the NEC and RC5 protocols.

Andreas

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
___
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel


[concordance-devel] libIRremotes (Re: Patches for major update of IR code learning)

2008-06-06 Thread Andreas Schulz
Here comes libIrremotes, that allows
to put Pronto hex codes into the Logitech database.
Extract, the build and install simliar to libconcord.

Patches for concordance and congruity following, due
to size limit.

I'm not sure if it's worth to become its own sourceforge 
project, perhaps Phil could just adopt it for concordance.

Considering all that Licensing mumbo-jumbo, well, the code
is all by myself (though with knowledge from some docs from
the web behind it), hacked together in my spare time, so 
feel free to do with it whatever you like, just don't hold 
me responsible in case it should kill your cat...

Regards, Andreas Schulz


libirremotes-0.20.tar.gz
Description: application/tgz
-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php___
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel