1. 02 Aug, 2005 1 commit
    • Benjamin Meyer's avatar
      Up-port from 3.5 · 66bef2a3
      Benjamin Meyer authored
      ----
      -Updated copyright year and e-mail
      -Changed all plugins to use cdinfo rather then the 12 arguments
      -Fixed a few compiler warnings
      -Cleaned up the config dialog a little bit
      -Removed unecessary private config items
      -Renamed some private functions to be better named
      -Removed duplicate code
      -Reduced function to the point where it was removed
      -Removed hard coded strings that wern't translated
      
      
      svn path=/trunk/KDE/kdemultimedia/kioslave/audiocd/; revision=442293
      66bef2a3
  2. 29 Jul, 2005 1 commit
  3. 30 Mar, 2005 1 commit
  4. 27 Mar, 2004 1 commit
  5. 21 Mar, 2004 1 commit
    • Benjamin Meyer's avatar
      AudioCD ioslave is now a plugin system! · b5e52977
      Benjamin Meyer authored
      - Coping what seemed right from k3b I have taken the plugins and put them each
      into their own library. (This by itself was very little work as they were
      already abstracted classes).  Really the only biggest change/addition was the
      addition of the 40 LOC find_plugins() function in the base class which opens
      the libraries and loads the encoders.  In the future much closer intigration
      with k3b is the goal.
      
      -Second I moved the configure widget for each encoder into the encoder plugin
      from the kcm.  This allows for the kcm to use find_plugins() and then load
      their configure dialogs.  One of the really cool side effect for example is
      that if lame sees that there is no lame library to run it wont return a
      encoder to configure (and thus confusing the user).
      
      -Third (tied very close to #2) was I converted the encoders to use KConfigXT.
      I created kcfg files, modified the ui files, modified the code and added the
      ability for the kcm to handle it (several three line for loops).  Because of
      this change quite a lot of code that KConfigXT handles was able to be
      removed from the kcm widget. On a side note k3b should do this.
      
      Planned:
      1) Incorperate k3b's Encoder from command line plugin
      2) Ditch 50% of KAudioCreator and just use this new system.
      3) Help port other apps to use this (k3b?,juk?,kcd?)
      
      svn path=/trunk/kdemultimedia/kioslave/audiocd/; revision=297461
      b5e52977
  6. 13 Mar, 2004 1 commit
  7. 08 Feb, 2004 4 commits
    • Benjamin Meyer's avatar
      Changed some base encoder functions to be const · 2e173c19
      Benjamin Meyer authored
      svn path=/trunk/kdemultimedia/kioslave/audiocd/; revision=286159
      2e173c19
    • Benjamin Meyer's avatar
      Small function name change to conform to the rest of KDE · edef6882
      Benjamin Meyer authored
      ::easier for new developers to read::
      
      svn path=/trunk/kdemultimedia/kioslave/audiocd/; revision=286148
      edef6882
    • Benjamin Meyer's avatar
      Copyright fix hoem -> home · 7c42025c
      Benjamin Meyer authored
      svn path=/trunk/kdemultimedia/kioslave/audiocd/; revision=286020
      7c42025c
    • Benjamin Meyer's avatar
      Audiocd Code Refactoring commit · cdca8aab
      Benjamin Meyer authored
      CCMAIL: kde-core-devel@kde.org
      -------------
      The commit you all (ok, maybe just me and a few others) have been waiting for.
      
      audiocd:/ no longer uses ifdefs!!!
      
      There is a new base class called Encoder which the different encoders are
      based off of.  Wav is in fact based upon CDA which is based upon Encoder.
      
      This means that the audiocd.h and audiocd.cpp files only deal with
      ripping the cd and with the ioslave work and just make a call to the
      selected encoder to do the work, no more case, ifdef, if else else else else...
      
      In the process of converting the module I discovered countless edge
      cases bugs that a) never were reported, b) probably would be too hard to find
      if you didn't know where to look. c) most arn't noticable.  By simply having
      the one call to the base class rather then the bunch of ifdefs acidents in
      copy/paste were all removed.
      
      The work that I did was 99% just refactoring of the code.  Very little new
      code was added to the project.  The majority of the actuall code changes were bug fixes.  Taking this approch first and then enhancing it I thought would be best.  In fact will all the fixes it might be worth while to put in the 3_2
      tree.
      
      Future work(?)
      --------------
      1) Currently the Encoder are build into the audiocd binary, but one could
      easily make them into libraries.  This offers the really neat idea that
      one could re-use these in other applications (KAudioCreator, Juk, etc).
      Maybe not re-using the encoding portion, but simply to get the configure
      dialog for that encoder so that the third party application could use it
      and then just make an audiocd ioslave call to get the file after saving
      the settings.
      
      2) Now that the Encoding is abstracted maybe doing the same with the
      ripper would be a good idea.  This would allow for a cdda2wav module.
      
      3) With the Encoder class it is 1000% times easier to add a new encoders
      to the audiocd framework.  (Anyone feel free to write a Flac encoder!)
      
      A far as the user is concerned it should be very similar.  I think the only
      difference is that there is now a CDA and a Wav directory for the two encoders.  I am very happy with how smoothly this went and hope it will encurage others
      to take a look into working on this module.
      
      P.S. TODO the lame encoder doesn't set the year (never did) in the id3 tag.
      
      svn path=/trunk/kdemultimedia/kioslave/audiocd/; revision=285992
      cdca8aab