This is top-level ChangeLog. It describes changes in application, without delving into details at source code level. See src/ChangeLog for details on changes in source files. 2012-03-28 Kamil Ignacak * gettext: updating gettext information and cdw.pot template file; one step closer to release; 2012-03-25 Kamil Ignacak * xorriso: cdw now can recognize "not a known option" error message printed by xorriso to stderr, and inform user about the fact; * bugfixing: fixing small bug introduced recently: cdw recognized a disc as empty right after burning ISO9660 image to the disc; the problem was a result of reusing old cdio data structure after reloading a disc tray (the data structure should have been discarded, and then created again); * ISO9660: fixing usage of meta information fields - they are used only when they are accessible during task creation, i.e. preparer/publisher/copyright fields are only used during creation of standalone ISO9660 file system (because there is this "meta" tab in ISO9660 wizard), but not during creation of ISO9660 file system on the fly, because the "meta" tab is currently missing in write wizard; 2012-03-06 Kamil Ignacak * bugfixing: fixing problem with ejecting drive tray; after a bit of googling it turned out that this may be caused by the drive being locked; today's change in cdw_drive.c provides a workaround for this problem; 2012-02-26 Kamil Ignacak * general: program version has been changed from 0.7.0 to 0.7.1; this won't be any significant release, just few small changes, so such change of version is justified; * bugfixing: there has been made small change that should help to resolve problems with saving data in configuration window or in wizards with F10 key, when user runs cdw in terminal emulators that use F10 for their own purposes; see also http://sourceforge.net/tracker/index.php?func=detail&aid=3424993&group_id=124080&atid=698428 * user interface: there is one small change (disabled for now) in signal handler code, that suggests that handling "resize main window" requests will be possible in future versions of cdw; * signal handling: few more signals are now handled by cdw's signal handler (essentially exit() is called, together with all the functions registered with atexit()); state of terminal (or terminal emulator) should be correct after cdw closes abruptly; * removing src/user_interface/widgets/cdw_textarea.[ch] - content of the file has been already moved elsewhere; 2012-02-19 Kamil Ignacak * general: lots of small changes that are supposed to silence compiler warnings; * debug: fixing problems with cdw_string_wrap(), only to realize that the function and related functions will require redesigning and rewriting at some point in the future; * signals: code handling signals has been improved: more signals are being handled, and code has been modified to make sure that final debug message is printed correctly, and that exit() is called properly; 2012-02-17 Kamil Ignacak * burning files: when burning second or following session to a disc, cdw now tries to check which tool has been used to create ISO file system already existing on a disc, and select the same tool for creating appended file system; user is warned if cdw can't recognize a tool used to create ISO file system existing on the disc; there is now also a second type of check: cdw checks value of ISO level of existing ISO file system, and preselects the same level for creating appended file system; both changes should decrease possibility of problems when burning files to a disc; see this post for related information: http://sourceforge.net/mailarchive/forum.php?thread_name=4EA08379.7090302%40wp.pl&forum_name=cdw-user * user interface: dropdowns, button dialogs and few more places, like log window, recognize 'q' and 'Q' keys as cancel/escape keys; this change has been suggested by RogerX; * external tools: solving Sourceforge defect #3487958 (cdw was unable to detect installed wodim and genisoimage if they weren't symlinked as cdrecord and mkisofs); 2012-02-11 Kamil Ignacak * general: this commit should be the last one made because of refactoring/review. The refactoring included: - moving implementation of some ncurses widgets to separate files in user_interface/widgets/ dir; - remodeling optical file system -> cdw cdio disc -> cdw disc stack of files/data abstractions; - creating new file: cdw_window.c; I'll try to focus now on implementing new features that will be more visible to end user than any changes made so far in this dev cycle. The next step would be looking for problems with valgrind, general testing, and release. 2012-01-04 Kamil Ignacak * src/user_interface/widgets/cdw_textarea.c: Moving remaining content from the file to cdw_window module. Some of the code from cdw_window goes there too. 2011-12-27 Kamil Ignacak * src/user_interface/cdw_widgets.c: Content of the file has been moved to widgets/*.c files before, now removing the file completely. 2011-12-19 Kamil Ignacak * starting new round of development; * moving content of src/user_interface/cdw_wizard.[ch] to new files, to keep widgets better organized/encapsulated. The new files are: src/user_interface/widgets/cdw_button.c src/user_interface/widgets/cdw_button.h src/user_interface/widgets/cdw_checkbox.c src/user_interface/widgets/cdw_checkbox.h src/user_interface/widgets/cdw_dialog.c src/user_interface/widgets/cdw_dialog.h src/user_interface/widgets/cdw_dropdown.c src/user_interface/widgets/cdw_dropdown.h src/user_interface/widgets/cdw_input_line.c src/user_interface/widgets/cdw_input_line.h src/user_interface/widgets/cdw_textarea.c src/user_interface/widgets/cdw_textarea.h 2011-10-14 Kamil Ignacak * COPYING: Updating GPL license text, it seems that at some point in time the FSF has changed its address in the US, and that has updated GPL text with this new information. Also the new text uses 'Lesser' instead of 'Library'. This doesn't seem to change the spirit of the license, nor the letter. Current GPL v2 text online: http://www.gnu.org/licenses/gpl-2.0.txt. This change has been spotted by user Sergio. Thanks! 2011-07-09 Kamil Ignacak * fixing a small bug in code related to burning image to a disc; * updating some meta files (NEWS, README, THANKS), updating documentation; other minor changes 2011-06-27 Kamil Ignacak * write wizard: adding "volume ID" input field in write wizard, the field is visible when wizard is used to prepare "burn files" task; 2011-06-19 Kamil Ignacak * bugfixes: testing phase is in progress; some minor changes, but some bug fixes as well: - proper initialization of "colors" module (cdw now properly reads colors configuration file from ~/.cdw/cdw.colors); - configuration module now can properly read custom drive path from config file; - improvement of disc size recognition by cdrecord and xorriso; - mkisofs options panel now correctly displays all values of "RR information" dropdown; - code preparing commands for calling xorriso now properly adds "-dummy" option; - writing speeds for CDs are now properly recognized by libburn module; 2011-05-18 Kamil Ignacak * configuration: merging cdw_config_ui.* and cdw_config_ui_internals.* into cdw_config_window.* * pre-release activities: bumping version to 0.7.0; current source code tree is pretty much how 0.7.0 will look like; all that is left to do is to test new version of cdw and update documentation; 2011-05-08 Kamil Ignacak * bugfixing: fixing one bug: not all digest tools existing in user's system were correctly detected/displayed/utilized, this should be now fixed; This commit marks a beginning of final (cursory) code review, which will be followed by testing phase. 2011-04-21 Kamil Ignacak * verification, bugfixing: a commit that attempts to finally solve problem described in sourceforge defect #3111089 (http://sourceforge.net/tracker/?func=detail&aid=3111089&group_id=47851&atid=451091); 2011-04-10 Kamil Ignacak * includes: in response to feature request #3249439 on SourceForge (http://sourceforge.net/tracker/?func=detail&aid=3249439&group_id=47851&atid=451094) I'm changing the way of using ncurses header files; this is only tested on my Debian box, still needs to be tested on Arch Linux; 2011-04-02 Kamil Ignacak * xorriso: adding initial code for handling DVD-R and DVD+R discs with xorriso; * libburn: added a file with wrapper around libburn calls; this wrapper provides information about disc that could not have been provided by xorriso; for now libburn calls are/will be used only for getting disc meta information, but it's very probable that libburn calls will eventually replace calls to xorriso; This commit adds new dependency: libburn from libburnia project (http://libburnia-project.org) 2011-03-11 Kamil Ignacak * xorriso: adding code for burning ISO image to CD-R/RW discs, and for erasing CD-RW discs; support for xorriso is still in early development phase, so code implementing this support is still unreachable; 2011-03-11 Kamil Ignacak * xorriso: adding more code for handling CDs with xorriso; handling CDs with xorriso is still disabled; * bugfixing: fixing small bugs that were introduced in development code (i.e. post-0.6.0); 2011-03-11 Kamil Ignacak * verification: adding support for two more digest tools: sha224sum and sha384sum; * xorriso: adding some code for handling CDs with xorriso (currently only reading disc meta info); the functionality is unreachable at the moment; 2011-03-06 Kamil Ignacak * verification: cdw now displays progress information during calculating digest of source ISO file; * verification: added "verify data" button in main menu, the button invokes wizard that configures new functionality of cdw: calculating digest of arbitrary disc file, or calculating digest of file system on current optical disc, or comparing digests of selected file and file system on optical disc; 2011-03-05 Kamil Ignacak * verification: few changes in code that performs verification of burned track against source ISO9660 file - the changes make it possible to use verification module for new purposes, e.g. calculating digest of an arbitrary file selected by user; 2011-03-01 Kamil Ignacak * bugfixing: there was a bug in post-0.6.0 code that caused cdw to always perform "dummy" write of ISO image to disc (perhaps of files as well); this has been now fixed; * verification/external tools: code supporting digest tools other than md5sum (sha1sum, sha256sum and sha512sum) has been extended, and some very basic tests have been performed - it seems that this may somehow work; some small fixes and changes are still needed; 2011-02-28 Kamil Ignacak * external tools: added initial code for supporting checksum tools other than md5sum: sha1sum, sha256sum and sha512sum; the support doesn't work yet, but initial code for full support has been added; * user interface: a small defect in cdw form code, introduced in one of recent commits, has been fixed; the defect caused cdw to crash every time some window with cdw form has been closed; 2011-02-27 Kamil Ignacak * external tools: "tools" page in Configuration window has been updated: dropdowns for growisofs, dvd+rw-mediainfo and dvd+rw-format have been removed: the tools aren't as "controversial" as cdrecord/wodim and mkisofs/genisoimage are - dropdowns for the two tools have been left intact; new dropdown - "CD handler" has been added; currently the only item is "cdrecord", but in future "xorriso" may be easily added; 2011-02-16 Kamil Ignacak * mkisofsrc: adding very basic functionality of reading content of $HOME/.mkisofsrc file into options form, so that user can modify the options; 2011-02-08 Kamil Ignacak * configuration: moving configuration file and log file from their original default locations (in $HOME dir) into their new location (in $HOME/.cdw/ dir); this is related to Sourceforge bug #3168259; 2011-02-06 Kamil Ignacak * ISO9660: adding new fields to mkisofs and xorriso options, that allow adding Publisher, System ID, Volume Set ID and (in case of mkisofs) Preparer, Copyright and Abstract; currently user has to enter values for these options manually, but in future it will be possible to read them from appropriate config file; 2011-02-04 Kamil Ignacak * configuration: removed "ISO9660" and "Writing" pages from Configuration window - settings from the pages are available only in new, separate windows accessed from wizards; * TODO: added TODO file 2011-02-03 Kamil Ignacak * user interface: more progress on moving configuration of burning/creating ISO9660 file system from Configuration window to more specialized, specially tailored Options windows, accessible from wizards; 2011-01-30 Kamil Ignacak * user interface: "eject" checkbox is slowly moved to write/erase wizards; * xorriso: improving support for xorriso; currently xorriso is used only as tool that created stand alone ISO9660 files; I will start using other functions of xorriso as soon as creating ISO files becomes stable; 2011-01-25 Kamil Ignacak * bugfixing: added missing -lm library in src/Makefile.am 2011-01-25 Kamil Ignacak * feature: ISO9660 image file wizard: currently call to the wizard function is disabled; the wizard displays most basic options used when creating ISO9660 image file, and also displays button forwarding to window with more advanced options; the options are either for mkisofs or for xorriso; adding new options or even new pages of options is simple thanks to recent changes in cdw form, tabbed window widgets and code related to config ui; 2011-01-22 Kamil Ignacak * xorriso: added first lines of code and files that are foundation for supporting xorriso in cdw; 2011-01-20 Kamil Ignacak * feature: added hiding of hidden files in file system browser widget - you can toggle the hiding using '.' (dot) character; 2011-01-09 Kamil Ignacak * bugfixing/new feature: adding new command-line argument "escdelay" which allows user to control ESC key delay in cdw; other changes in code set the value to 50ms by default - much less than original 1000ms; 2011-01-08 Kamil Ignacak * new features: adding code that reads disc capacity, updating code that reads disc usage - this will allow me to display this information in main window, in "selected files info" area; the code works only for DVDs, and is disabled; unfortunately this doesn't work for DVDs+wodim; * new features (2): adding code that reads disc capacity for CD discs as well; enabling displaying disc usage and capacity in main window in volume info area; * ui: readjusting main window layout so that there is no external border around 4 main areas anymore; this gives us a bit more space for more important thing and tidies up the main application window; 2011-01-05 Kamil Ignacak * widgets: adding new widget: tabbed window (well, the widget already exists, but it's heavily coupled with implementation of configuration window; code in new file is an essence of the widget); 2011-01-04 Kamil Ignacak * ISO9660: today's commit changes how RockRidge extensions to IS9660 are configured in cdw: instead of two checkboxes there is now one dropdown; 2011-01-02 Kamil Ignacak * disc modes: code generating list of available disc modes (tao/dao/sao) that can be seen in write wizard, has been updated; major change in this update is the fact that when cdrecord is used as a tool, cdw will display only those modes, that are reported by cdrecord as supported by current disc/drive combo; this may mean that the list may be shorter than in previous versions of cdw. * other: I've added 'q' key to list of keys that close write wizard and erase wizard without performing writing/erasing; this has been suggested by rogerx as a workaround for long delay between pressing ESC key and a reaction to the key by ncurses; this solution will be implemented in other parts of cdw; 2011-01-01 Kamil Ignacak * fixing bugs: fixing sourceforge bug #3149329, reported by rogerx; I've tried to be correct when listing disc types for which "dummy" write is possible; a thorough testing is required to check that the list is correct; 2010-12-28 Kamil Ignacak * fixing bugs: fixing small annoyance (pointed to by user rogerx): drive tray was reloaded twice during burning/verification process, the second time was unnecessary; 2010-12-23 Kamil Ignacak * fixing bugs: changes in two files should fix sourceforge defect #3111089; * features: changes in cdrecord regex code to add detection of track modes supported by a drive - this information may be used later to build write wizard with more relevant options in "track format" dropdown; 2010-10-22 Kamil Ignacak * fixing bugs: small improvements (well, almost bugfixes) after doing some final tests; one of changes is larger default padding size for burning with cdrecord - the original one may have been too small for DVDs * pre-release activities: small updates in few files; 2010-10-21 Kamil Ignacak * fixing bugs: fixing a bug that occurs when there are no drives in user's computer - cdw crashed when user presses 'E' key to eject a tray, on other occasions cdw didn't work 100% correctly either; * pre-release activities: bumped version to 0.6.0, basically the code in repository is the new version of cdw; updated few files (README, NEWS, po/cdw.pot); release is quite close 2010-10-19 Kamil Ignacak * fixing bugs: fixing some memory leaks (thanks valgrind!); silencing some compiler warnings that showed up during tests on my other machine (32 bit Debian); * testing: did some basic tests on 32 bit machine: some basic functional tests + make distcheck; 2010-10-16 Kamil Ignacak * fixing bugs: fixing problem with ejecting tray after writing to discs (most often DVD-RW discs): cdw attempted to eject a drive tray, but was unable to do so; this may have resulted in incorrect reading of disc meta information and to other problems; fixing one bug in Configuration window -> Tools, the bug resulted in crash whenever there were no programs for DVDs installed, but user wanted to configure them anyway; it seems that it was introduced in cdw 0.5.0, perhaps even earlier; this fix closes sourceforge defect #3088902 I'm much closer to finishing testing of cdw, I think that within a week I will be done with the testing, and will start preparing a new release - cdw 0.6.0; 2010-10-03 Kamil Ignacak * fixing bugs: fixing one problem that may have occurred when writing data to discs with cdrecord with large speeds (when drive buffer was filled in less than 100%) - as a result process window wasn't refreshed properly; 2010-09-17 Kamil Ignacak * fixing bugs: fixing bug that caused cdw to crash when reading meta information from empty CD disc; this bug was introduced in development version of cdw, after releasing version 0.5.0 2010-09-17 Kamil Ignacak * new file: utilities/cdw_regex.c: new file with code that handles variables of cdw_regex_t type - this is a type that collects few variables useful in using regular expressions in cdw; 2010-09-12 Kamil Ignacak * general: updating structure of source code tree by moving some files to subdirectories; list of changes is following: cdda2wav.[ch] -> tasks/cdw_cdda2wav.[ch] cdw_cdio.[ch] -> disc_and_drive/cdw_cdio.[ch] cdw_cdio_drives.[ch] -> disc_and_drive/cdw_cdio_drives.[ch] cdw_drive.[ch] -> disc_and_drive/cdw_drive.[ch] cdw_disc.[ch] -> disc_and_drive/cdw_disc.[ch] cdw_config.[ch] -> configuration/cdw_config.[ch] cdw_config_ui.[ch] -> configuration/cdw_config_ui.[ch] cdw_config_ui_internals.[ch] -> configuration/cdw_config_ui_internals.[ch] cdw_file.[ch] -> native_file_system/cdw_file.[ch] cdw_fs.[ch] -> native_file_system/cdw_fs.[ch] cdw_file_manager.[ch] -> native_file_system/cdw_file_manager.[ch] cdw_fs_ui.[ch] -> native_file_system/cdw_file_picker.[ch] cdw_fs_browser.[ch] -> native_file_system/cdw_fs_browser.[ch] cdw_graftpoints.[ch] -> optical_file_systems/cdw_graftpoints.[ch] cdw_iso_image.[ch] -> optical_file_systems/cdw_iso9660.[ch] iso9660.h -> optical_file_systems/iso9660.h isosize.[ch] -> optical_file_systems/isosize.[ch] cdw_logging.[ch] -> utilities/cdw_logging.[ch] gettext.h -> utilities/gettext.h cdw_task.[ch] -> tasks/cdw_task.[ch] help.[ch] -> user_interface/cdw_help.[ch] thread.[ch] -> external_tools/cdw_thread.[ch] 2010-09-07 Kamil Ignacak * general: updating structure of source code tree by moving some files to subdirectories; list of changes is following: cdw_cdll.[ch] -> utilities/cdw_cdll.[ch] cdw_dll.[ch] -> utilities/cdw_dll.[ch] cdw_string.[ch] -> utilities/cdw_string.[ch] utils.[ch] -> utilities/cdw_utils.[ch] cdw_debug.h -> utilities/cdw_debug.h external_tools.[ch] -> external_tools/cdw_ext_tools.[ch] mkisofs_pipe_regexp.[ch] -> external_tools/cdw_mkisofs_regex.[ch] cdrecord_pipe_regexp.[ch] -> external_tools/cdw_cdrecord_regex.[ch] dvd_rw_format_pipe_regexp.[ch] -> external_tools/cdw_dvd_rw_format_regex.[ch] dvd_rw_mediainfo_pipe_regexp.[ch] -> external_tools/cdw_dvd_rw_mediainfo_regex.[ch] growisofs_pipe_regexp.[ch] -> external_tools/cdw_growisofs_regex.[ch] md5sum_pipe_regexp.[ch] -> external_tools/cdw_md5sum_regex.[ch] pipe_regexp.[ch] -> external_tools/cdw_regex_dispatch.[ch] cdw_colors.[ch] -> user_interface/cdw_colors.[ch] cdw_ncurses.[ch] -> user_interface/cdw_ncurses.[ch] cdw_form.[ch] -> user_interface/cdw_form.[ch] cdw_list_display.[ch] -> user_interface/cdw_list_display.[ch] cdw_processwin.[ch] -> user_interface/cdw_processwin.[ch] cdw_widgets.[ch] -> user_interface/cdw_widgets.[ch] cdw_text_file_viewer.[ch] -> user_interface/cdw_text_file_viewer.[ch] write_wizard.[ch] -> user_interface/cdw_write_wizard.[ch] blank_wizard.[ch] -> user_interface/cdw_erase_wizard.[ch] cdw_ui_main.[ch] -> user_interface/cdw_main_window.[ch] 2010-09-04 Kamil Ignacak * reading DVDs: I have added calls to code that checks if operating system kernel supports ISO9660 file system; the support should be available on most systems, but there may be those that don't have the support enabled - it is better to check this; 2010-09-04 Kamil Ignacak * fixes: fixing one defect introduced in previous commit: cdw was unable to read content of disc, so any attempts to read data disc, or to verify burning an image, failed 2010-09-01 Kamil Ignacak * general: some refactoring in cdw_disc.[ch]; * dependencies: adding libiso9660 as a new dependency for cdw; this library provides functions (among other) for reading information from ISO9660 file systems; the library is part of cdio project, so I think that this new dependency shouldn't be problematic, as libiso9660 should be distributed/packaged together with libcdio; * build scripts: "configure" script checks for libraries (as it used to do), and exits if a library is not available (this is the new part); 2010-08-29 Kamil Ignacak * fixes: fixing small memory leak in cdrecord_pipe_regexp.c; fixing problem with drives that in fact were symbolic links to device files - using them may have caused problems during burning process (see src/ChangeLog for more information); * changes: list of selected files and file selector/picker window recognize 'q' and 'Q' as key that works similarly to Escape, i.e. focus moves back from list of selected files to main menu, and file selector window is closed; * new file: src/utilities/cdw_sys.c: new file with functions that interact with some operating system files or handle operating system signals; some functions from this file will be used to detect if operating system supports ISO9660 or UDF file system; 2010-08-24 Kamil Ignacak * general: updating structure of source code tree by moving some files to subdirectories; list of changes is following: src/cdw_burn_disc.[ch] -> src/tasks/cdw_burn_disc.[ch] src/cdw_create_image.[ch] -> src/tasks/cdw_create_image.[ch] src/cdw_erase_disc.[ch] -> src/tasks/cdw_erase_disc.[ch] src/cdw_read_disc.[ch] -> src/tasks/cdw_read_disc.[ch] src/cdrecord_interface.[ch] -> src/external_tools/cdw_cdrecord.[ch] src/mkisofs_interface.[ch] -> src/external_tools/cdw_mkisofs.[ch] src/dvd_rw_format_interface.[ch] -> src/external_tools/cdw_dvd_rw_format.[ch] src/dvd_rw_mediainfo_interface.[ch] -> src/external_tools/cdw_dvd_rw_mediainfo.[ch] src/growisofs_interface.[ch] -> src/external_tools/cdw_growisofs.[ch] src/md5sum_interface.[ch] -> src/external_tools/cdw_md5sum.[ch] thanks to adminrepo tool on sourceforge.net history of changes in repository will be (hopefully) preserved; 2010-08-22 Kamil Ignacak * boot disc: I have simplified (well, stripped some functionality from) "boot image file" input field - from now user has to manually enter into this field all options related to boot image and boot disc; I have never tested this functionality, so I'm pushing responsibility for proper options to user; this may change in some distant future, but in next release this will feature will be "crippled" 2010-08-22 Kamil Ignacak * hardware: cdw now can autodetect optical disc drives available in user's system; capabilities of available drives can't be (yet) evaluated, but at least user doesn't have to enter a path to a device in text input field - in worst case scenario user will have to select one entry from a list (dropdown); there are still some things to be fixed in this new code, but it seems to work; * license: I have fixed a bug that prevented cdw from displaying full text of GPL license - the license text is read from text file in some default system path, the path used by cdw was incorrect; 2010-08-15 Kamil Ignacak * fixes: one fix of code that updates size of selected files: the size may have been incorrectly calculated when user changed value of "follow symlinks" option; * other: fixing few FIXMEs, doing some TODOs, doing some refactoring; 2010-08-14 Kamil Ignacak * ISO9660 options: added checkbox for "Long Joliet names" in configuration window - user doesn't have to manually enter "-joliet-long" option in "other mkisofs options" field; added button that activates file selector window for selecting boot image file in configuration window; * reading data discs: cdw no longer reads second and following tracks from multi-track data discs; user is clearly informed about this; * burning: information about burning speed, if it is printed by cdrecord or growisofs, is displayed in process window during burning; * fix: one of latest commits introduced a bug in displaying progress information when reading an audio CD disc; this has been now fixed; 2010-08-11 Kamil Ignacak * general: added handling of SIGSEGV signal, when cdw receives the signal, it does proper clean up of resources, including restoring state of a terminal; cdw now can correctly display information about state of DVD+RW and DVD-RW Res discs: if they are empty or not; 2010-08-08 Kamil Ignacak * ui, process window: today's changes are mostly related to process window - the small window displayed when user performs some tasks, the window displays current status of a task, and sometimes progress of the task; until now there were some gaps in displaying the window, so sometimes user could get an impression that cdw has frozen, when - in fact - it was busy doing something in the background, or waiting for external tool to complete its task. Now, the process window is displayed almost all the time when there is something going on. User has more feedback from cdw. It is still a bit experimental, there may be problems with refreshing the window, sometimes the window may not display all available information, but problem of gaps in presenting the information to user is solved. 2010-08-01 Kamil Ignacak * reading discs: added support for reading DVDs with ISO9660 file system (i.e. for copying content of their first track to file on hard disc); * verification: added verification of burning ISO9660 image to DVDs; * ui: added "wrapping" in main menu: when focus is on last position of the menu and user presses down arrow, focus is moved to first item; similarly for topmost item; * burning: added a warning dialog displayed when user attempts to burn ISO image larger than 4GB with wodim; 2010-07-17 Kamil Ignacak * pre-release activities: making last fixes to source code files and other files, adding "compile" file that may be needed on some occasions during compilation; * release: today will be the release day of cdw 0.5.0 :) 2010-07-10 Kamil Ignacak * fixes: small fix of serious error in configuration window: cdw crashing whenever volume label is longer than 19 chars, which was initial width of input field; * updates: updating man page, NEWS and README file 2010-07-09 Kamil Ignacak * fixes: small changes after testing cdw on i38g machine; one change in ncurses wrapper fixing bug that potentially may cause crashes, or at least memory leaks; little modification in processwin code, that prevents processwin from closing too fast, without waiting for user's key; 2010-07-07 Kamil Ignacak * various: first patch from user :) thanks, rogerx! 2010-07-01 Kamil Ignacak * prerelease: various changes in files other than source code files, preparing for upcoming release; officially changing version number to 0.5.0; removing some old or duplicate files; 2010-06-29 Kamil Ignacak * testing, prerelease: main part of testing has been finished, I'm moving to next steps before release; today I did some changes related to gettext 2010-06-09 Kamil Ignacak: * verifying: there may have been a problem during burning of ISO file to disc and attempt to verify burned image: if the disc was mounted by user's automounter after burning image and before attempting to read it, cdw reported an error and abandoned the process; now user is asked to unmount disc, and then cdw can proceed with verification; * burning to disc: default burning mode for burning files to empty disc is now "make single session" instead of "start multisession"; this is a result of short discussion with user rogerx on cdw-devel mailing list; 2010-05-28 Kamil Ignacak: * build system: there are now two explicit build targets: main and "check" targets for "/src" and "/src/external_tools" modules, each with its own set of preprocessor/compiler/ linker flags; "./configure" now accepts "--enable-debug" flag, which controls whether debug facilities (debug info for gdb, debug messages printed to stderr) are included in the build or not, and whether or not additional set of compiler warnings are enabled - this removes necessity of editing Makefile.cdw.am file to enable or disable debug build; almost all build system files were updated; "./configure" script now does a bit more tests * unit tests: several *_tests.* files are removed, and their code is moved to source code files, which functionality is tested; this results in more self-contained modules that implement both functionality and tests of the functionality; this also results in decreased number of files; 2010-05-23 (2) Kamil Ignacak * ui: today's commit removes few dialog windows that were available through hotkeys in main window: volume id editor, cdrecord parameters editor and volume size selector; these parameters can be now edited only in main configuration window; this change was made to make editing parameters more consistent: now they aren't scattered in few different windows; * testing: I think that I have implemented all changes that I intended for cdw version 0.4.1, so I'm ready to start testing phase; 2010-05-23 Kamil Ignacak * config ui: today's commits add new fields in "Log" tab of config window, the fields are used for selecting size of ISO file (volume size); this functionality existed (and still exists) in separate dialog window available through F4 hotkey, but this window will be removed in future; 2010-05-18 Kamil Ignacak * build system: "make distcheck" works :) autotools have their advantages ;) 2010-05-16 Kamil Ignacak * file picker: recent changes in configuration window code add small buttons next to few input fields in configuration window (the fields are input fields where user can enter path); these buttons invoke file picker widget that allows user to select a file or dir more comfortably than by entering path manually; file picker needs a lot of testing and some more improvements, but calling it in "real world scenarios" will make the testing easier 2010-05-14 Kamil Ignacak: * which: adding source code file that implements functionality of "which" utility; the file was created to ensure that on every platform cdw can obtain full list of implementations of specified external tool; in previous versions of cdw it was only possible when native "which" supported "-a" option; sourceforge defect #2996758 proves that not all implementations of "which" support "-a"; this change should close defect 2996758, I will close it after testing phase; * build system: I'm adding Makefile.cdw.am: a file with common definitions that should be included by all Makefile.am files; other tweaks in build system files; 2010-05-08 Kamil Ignacak * bugfixing: today's changes should fix sourceforge defects 2996770 and 2998671; thanks to user robwoj44 for initial bug reports and for providing further information; 2010-05-05 Kamil Ignacak * gnulib: I'm adding few files from gnulib, as found in findutils-4.2.31; they are licensed under GPL 2 or later, so no mismatch of licenses; main reason behind including them in cdw is canonicalize_filename_mode() from canonicalize.c, so only few files are copied from gnulib; the files that I have included into cdw are a bit modified to limit number of files copied from gnulib (no xmalloc, no xgetwd, etc.); After including gnulib files I had to update build system files, but I'm afraid that this was more like hacking them rather than making smart, well thought-out updates, so build system may be now unreliable; perhaps I should switch to non-recursive makefile So be warned: build system may not work as expected; 2010-04-18 Kamil Ignacak: * user interface: cdw can now handle some file names that previously could not be printed by ncurses interface; e.g. "Schlaflos_in_M�nchen/" previously was not printed at all, leaving only empty row, now it will be printed as "Schlaflos_in_M?nchen/"; current state is now not perfect, but surely better; 2010-04-12 Kamil Ignacak * fixes: few changes fix small memory leaks that on some occasions may have lead to application crash; * file picker: file picker dialog (for selecting single file) is closer to be fully functional; next version of cdw will use it as a main widget for selecting single file or directory, e.g. when specifying target ISO image file; this is not the same as file selector window - the file selector does not allow to enter path to non-existing file; * unit tests: unit tests for fs module have been moved from cdw_fs_tests.c to cdw_fs.c; thus cdw_fs_tests.* files are removed; 2010-03-28 Kamil Ignacak * misc: this commit (and few previous) adds capturing few error messages printed by external tools (mkisofs, cdrecord etc.) and displaying appropriate dialog messages with information for user; * DVD+R DL: I have tested handling of DVD+R DL discs, from now on this type of disc will be handled only by dvd+rw-tools, and only after explicitly enabling such support by command line option; this command line option already existed, but now I intend to document it in man page and put it in help printed when cdw is called with "--help" argument; * testing: testing is basically finished; now I have to update documentation and the release will be ready; 2010-03-21 Kamil Ignacak * burning with growisofs: I have updated and tested code that makes sure that growisofs uses proper (as in: selected in Configuration-> Tools) instance of mkisofs; * creating ISO file system: added piece of code that warns user when he attempts to create ISO file system using file larger than 4GB, and iso level is lower than 3; 2010-03-13 Kamil Ignacak * bugfixes: I have implemented an input widget that checks entered strings for unsafe chars; the widget will be used in places which didn't check user input yet; "unsafe" input dialog is removed; this should finally resolve sourceforge defect #2965153; testing continues; 2010-03-07 Kamil Ignacak * bugfixes: today's commit will fix two defects: - insecure characters in input dialogs (partial fix of sourceforge defect #2965153) - incorrect handling of spaces in path to ISO image files (fix of sourceforge defect #2965149) I have started testing phase before releasing version 0.4.0. 2010-02-25 Kamil Ignacak * erasing: yesterday I was too lazy to test my changes in erase wizard, and as a result a bug has slipped into committed code; result of this bug was an application crash when user attempted to erase a disc; today's commit fixes this bug; 2010-02-08 Kamil Ignacak * src/ChangeLog: fixing typos * src/*.c: various small fixes and improvements, often cosmetic; one or two changes may fix problems introduced in previous commit, one certain problem occurred in file selector window: on some occasions adding files failed, and size of selected files turned into -1, this is now fixed; * selecting files: few small changes in filesystem module and file manager module result in more feedback to user when cdw can't scan files selected by user: a dialog message is displayed, informing about problems, and more detailed information is printed to log file; this is far from perfect solution (the perfect solution would be to suggest to user skipping the files in process of creating ISO image or burning the files to optical disc, and happily continue scanning "valid" files), but it is still an improvement; try adding directories without read permissions if you want to test new behavior 2010-01-31 Kamil Ignacak * ui: I have added basic code for file picker dialog (similar to file selection dialogs in other applications, where you can see one when e.g. saving file) - it will be used e.g. for selecting ISO image file; right now it is disabled, as it doesn't work correctly yet; * burning: simple change in threading code will (probably) fix a defect where growisofs always used mkisofs from /usr/bin, regardless of configuration of the tool in cdw configuration module; this hasn't been tested yet, but it should work :) 2010-01-16 Kamil Ignacak * general: small fix in threads code significantly limits CPU usage, which should be noticeable on older machines; added catching some more error messages from external tools * burning: added warning when user wants to burn file that is larger than 4GB, as some tools can't handle this well; cdw now can catch message printed by cdrecord when burned files may not fit onto optical disc - appropriate error dialog is displayed 2010-01-10 Kamil Ignacak * burning: after finishing tests for cdrecord and DVD-R I have tested burning DVD+R with cdrecord; there was only one defect noticed: wodim doesn't close DVD+R disc when writing in single session mode (no -multi arg); this will be deferred to next version, without workaround but with note in "known bugs" section; 2010-01-07 Kamil Ignacak * burning: tested and improved code supporting DVD-R + cdrecord combination (only burning ISO file for now); by cdrecord I mean the original cdrecord and wodim; my wodim version is 1.1.10 and cdrecord is Cdrecord-ProDVD-ProBD-Clone 2.01.01a37, and cdrecord is much better at the job than wodim, but growisofs 7.1 is better than cdrecord 2009-12-21 Kamil Ignacak * erasing: I have introduced one small change in code responsible for erasing of DVD+RW discs with dvd+rw-format - if there were some problems with it, they may be fixed with this commit * burning: cdw now can recognize when growisofs reports insufficient space on optical disc for burning ISO image (previously this was done only for problems with burning files); * other: '+' char is now allowed input char in configuration window fields; I have added "Approximate size of selected files" label in main window to stress that size of files displayed in main window may be imprecise; I'm continuing testing of cdw, so there are some small improvements in supporting cdrecord and dvd+rw-tools 2009-12-06 Kamil Ignacak * calculating file size: cdw has problems with correct handling (calculating size) of directories with relative symbolic links if "follow symbolic links" option is enabled in configuration; these links will be recognized as invalid, and thus size of linked files will not be added to total size of all selected files; this defect does not influence how mkisofs calculates size of files before creating ISO image, so the defect is not critical; * DVD-ROM: small fixes that allow cdrecord / wodim to recognize DVD-ROM discs and a fix that is a workaround for wodim's problem with checking "empty / appendable" status of DVD-ROM 2009-11-23 Kamil Ignacak * burning: slowly starting to test cdw 0.3.95; this commit is a result of few simple testcases of use of cdrecord to burn to DVD+RW; 2009-11-01 Kamil Ignacak * build: today's commit will probably fix sourceforge defect 2890402 * burning: today's commit should fix sourceforge defect 2890403; * burning, creating images: today's commit fixes sourceforge defect 2890399; 2009-10-25 Kamil Ignacak * general, important!: this problem was discovered and fixed some time ago, but I stumbled upon it today, and I've noticed that I didn't describe it here. The problem is that cdw 0.3.93 displayed "can't get any media information" error message at the beginning of almost every action, and refused to do anything useful; source of the problem was libcdio driver: cdw 0.3.93 (and all previous versions) used one specific driver, and if it failed, cdw refused to work; now cdw can fallback to generic driver, and things work ok again; this problem most probably appeared after updating libcdio version; * cdrecord, dvd: added / enabled handling of DVDs by cdrecord; this was fairly easy, because most of code required to do this already existed in cdw 0.3.39, and missing pieces were added in this development cycle; cdrecord (even this original) show some shortcomings: it doesn't provide options for formatting DVD-RW disc, getting detailed ATIP media info from some blank DVD discs takes a lot of time; I suspect that other problems will arise during testing phase; similarly to handling CDs, handling of DVDs can be done with both original cdrecord from Jörg Schilling, and wodim; * configuration: changes in Tools page of config window: dropdown "tools for dvd" now can also show "cdrecord" (if available), but the default and recommended tool set for DVD discs is growisofs and friends; 2009-10-24 Kamil Ignacak * config: changes in Tools page of config window: - new "manual selection" checkbox that shows or hides items in the panel, switching between manual and automatic selection of tools - new dropdown "tools for dvd" where user can select if (in case of manual tools selection) DVD discs will be handled by growisofs and related tools, or by cdrecord; currently only growisofs is available in the dropdown, but cdrecord will be added in final version; other tools (like xorriso) also can be added; similar dropdown for CD disc is also planned; * write wizard: when opening configuration window from write wizard, "Tools" tab is disabled to prevent changing tool sets (cdrecord vs growisofs) in the middle of preparations for writing; 2009-10-10 Kamil Ignacak * ui: two main menu items: "Copy data CD" and "Copy audio CD" are now merged into "Copy CD", which works for both data and audio CD; tooltip for the button was updated accordingly; 2009-10-04 Kamil Ignacak: * dvd+r dl: today's modifications make support for DVD+R DL turned off by default, the support can be turned on by calling cdw with command line argument; please see utils.c -> process_commandline_args() for name of this option 2009-10-03 Kamil Ignacak * general: on some occasions cdw consumed 100% of available CPU time because of idle looping; I have fixed this by slight modification in threads code; * dvd+r dl: added pieces of code that enable recognizing DVD+R DL and writing to DVD+R DL using cdrecord; after wasting 20 or so DVD+R DL discs I decided that support for DVD+R DL will be disabled by default, because I can't get correct results neither with growisofs nor cdrecord; a disc is burned, but verification of burned data fails; there are several possible culprits: kernel configuration, drive (used-up burner, old firmware), media (cheap discs), software (insufficient support by burning software); I did tests with Cdrecord-ProDVD-ProBD-Clone 2.01.01a37, growisofs 7.1, xorriso 0.3.4, xfburn 0.4.2 (libburn 0.6.4-1, libisofs 0.6.16-1) and two types of media using DRW-2014L1T burner; I can't provide official support for DVD+R DL until I can do fully correct, verifiable burning; in this commit the feature will be still enabled, next commit will include code which enables the feature only after specifying command line argument for cdw * cdrecord: if cdrecord complained about incorrect driver option "burnproof", it shouldn't do this anymore, since the option is now corrected as "burnfree" 2009-09-23 Kamil Ignacak * dvd+r dl: this commit contains few changes that are basis for supporting DVD+R DL disc; the support is very, very basic: only writing files as first session to empty DVD+R DL disc; this is barely tested, so don't depend on this feature; 2009-08-30 Kamil Ignacak * tests: added more unit tests for functions from cdw_file.c; I will be moving all unit test code to the same source code files in which tested functions are defined, and away from *_tests.c files - this is to reduce number of source files, solve problem of "unit test files in separate dir" vs. "unit test files always with their respective files", and ensure that unit testing code always has access to all functions in given c file, without using declarations of all functions in h file (which was "dirty" way to do things); first example of this approach is cdw_file.c: first come definitions of cdw_file*() functions, and then there is part of file with unit tests 2009-08-09 Kamil Ignacak * general: it turned out that there are still some changes to do in source code files; also updated Makefile.am file, cdw.pot and some documentation; now I'm even closer to release 2009-08-02 Kamil Ignacak * general: I'm done with testing, new cdw.pot file is generated, program version is updated, debug messages are disabled - source files are is ready, just need to update man page and README; 2009-06-27 Kamil Ignacak * ui, external tools: today's commit (and some previous as well) adds capturing and handling of some errors reported by external tools (like mkisfos and cdrecord); most often "handling" is nothing more than a message dialog stating that tool X reported problem Y, and in few cases some form of solution is suggested 2009-05-23 Kamil Ignacak * configuration: added direct support for padsize option of cdrecord, user can now enter value in appropriate field in config window; he is informed that it is recommended to use pad ('-pad') and padsize ('padsize') options of cdrecord, in the second case suggested value of the parameter (63) is specified in config window; see http://www.troubleshooters.com/linux/coasterless.htm for details on usage of padsize option; 2009-05-15 Kamil Ignacak * ui: now user can shift content of file listings (in file selector and in list of selected files) to view long file or dir names that may be truncated in not-too-wide windows; 2009-05-14 Kamil Ignacak * filesystem module: on some systems cdw might have not recognized correctly when disc was mounted, because device path provided in configuration can be in reality a link to device file; today's commit fixes this (cdw_fs.c) 2009-04-09 Kamil Ignacak * cdw testing facility: cdw_tests now recognizes '-i' command line option, which enables interactive tests: right now only testing of drive tray is implemented * writing image: writing image as initial session of multisession CD disc is now disabled, because I have some problems with discs written this way (can't read them properly) 2009-03-22 Kamil Ignacak * configuration: adding "Follow symbolic links" option that influences what is included in generated ISO image and how size of selected files is counted; 2009-03-15 Kamil Ignacak * compile-time: build tool no longer checks for external tools (cdrecord, mkisofs, etc.) at run-time, now application searches the tools at run time; this means that packager doesn't have to have the tools installed when he prepares deb or rpm package; this also means these tools can be installed on user's system after he compiles cdw; * write wizard: now write wizard doesn't display "verify" checkbox if there is no "md5sum" tool installed on user's system; * configuration: configuring paths to external tools (i.e. selecting desired version of tool if there are two or more various available on user's system) now (kinda) works: it hasn't been tested extensively, but it seems to work; 2009-03-08 Kamil Ignacak * configuration: moving towards discovering of paths to external tools (cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format) at runtime; this is not yet 100% ready, but the basics are already there ("which" code, external_tools.c) 2009-03-07 Kamil Ignacak * iso file: user is presented with dialog window that allows him to enter path to iso file when he wants to create new iso image file or when he wants to write iso image file to disc; thanks to this user is not surprised or confused what or where sth is written / burned; 2009-03-02 Kamil Ignacak * configuration: removed "dao" checkbox, this option (in expanded form) is now available in write wizard; * write wizard: write wizard dialog window now displays a dropdown in which user can select "tao", "dao" or "default" value for mode of writing data to disc; * progress window: progress information for writing to CD with cdrecord now can display progress more smoothly, without jumps in progress values thanks to improvements in thread.c 2009-02-28 Kamil Ignacak: * configuration: configuration window was remodeled: now it has five pages: "Writing", "Hardware", "Audio", "ISO filesystem" and "Tools". This new division should make finding right option easier. "Tools" page has paths to external tools used by cdw (like cdrecord or md5sum), but for now they are inactive. In future this will allow me to remove compile-time requirement of having these tools installed at compile time; additionally user will be able to select other implementation of, say, cdrecord. Order of pages can be easily changed to match requirements of user. * speeds of writing to CD: I deployed new (correct) method of getting allowed / available speeds for writing to CD; previously list of available writing speeds was incorrect, so if user selected value from this list, it was most probably ignored by cdrecord; now it should work correctly;