1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093
|
02.04.1999
- bugfix: taking care of trailing slashes
- bugfix: do not create empty dircache entries when loading from dir.cache
- bugfix: do not crash when dir.cache is zero-sized
- bugfix: fixed getdir bug where a char * was typecasted (char*)&
- bugfix: dircache_createentry returned last cacheentry instead of
newly created entry when cache was full
=> problem of dircache delivering wrong data should be solved
03.04.1999
- bugfix: dircache_createentry accessed memory area beyond
MAX_CACHEDIR_ENTRIES,which could be the reason for some of the
system crashes
- bugfix: disabled tree update when copying files as there is no
easy way of sending a deselect signal to items of a subtree
when collapsing,so that a fileselect widget would never notice
that the treeitem it references to does no more exist
- bugfix: implemented display workaround for fileselect widget in source.c
This is necessary for the same reason.
- Implemented basic drag and drop support functions to getdir.c/getdir.h
=> getdir_dirinfo_create function changed parameter count !
- dndsetup_drag now ignores handle functions set to NULL instead of
connecting them to their respective signals
- Implemented unselect on collapse => removed fileselect hack in source.c
and fsedit.c
- dirlow_subdirentries now returns 0 or 1 instead of the number of
subdirectories => reader stops at the first directory it finds,
saving quite a bit of time
- bugfix: this one is really hard: I seem to have fixed that problem about
the segmentation fault whenever the subtree of the first item in a tree
got collapsed while an item of another subtree within this
particular subtree was selected.
This is the oddest behavior i experienced for a very long time ;-)
however,the "solution" seems to be the oddest of all:
inserting a dummy tree_item,which does not even have to be visible,
makes the whole thing stable,which is exactly what I want ;-)
Ill consult some Gtk Developer about that problem as soon as possible...
- introduced update of DirTree when files get copied or deleted
(this is essentially the code from yesterday,only the bit about the
unselect notification has now been solved so that this code now
actually works)
- bugfix: getdir.c collapse now does only select item about to collapse if
it is not already selected (this bug was NOT the reason for the GtkTree
oddball above,the introduced workaround is still necessary)
- bugfix: corrected the behavior of the drag and drop functions according
to the gtk-tutorial,essentially attaching any tree *before*
drag and drop gets initialized
- bugfix: expand/collapse are now taking care themselves about wether
a widget is already expanded or not,because Gtk not only emits expand
and collapse signals whenever it feels in the right mood to,but does not
even provide a means of checking wether an item is already expanded or not
04.04.1999
- moved essential file handling functions like adding/removing files
to fileman.c/fileman.h to make the source a bit more structured.
also they have been changed to fit the needs of the corresponding
popup menu in the dirtree window
- bugfix: fixed some bug introduced yesterday when trying to make
drop on tree items work,which caused the expand function to behave
somewhat odd
- implemented handling routines for drop on tree. This does,however,not
at all mean that drop on tree does no work as it should. Still,only
the root dir of the cd to be created can be used as drop destination.
I am still trying to figure the reason,why drag and drop does not work
for the other tree items.however,if gtk would some day kindly accept
them as drop destinations,drop on trees would be fully implemented from
the beginning on.
- added fileman_strippath() as a generic way to remove the path from a
filename. This enables the user to drag the root tree onto the cd path
as empty files will be renamed to "root"
- implemented tree remove function,but did not implement updating the
display yet. you'll have to collapse the parent tree and reexpand it
to make the changes apply to the display.
- tree is now once more check for having subdir entries before expanding,
avoiding some display error caused by expanding a tree without treeitem
entries (which happens,whenever there have been changes to the directory
structure with the tree informations already read in)
- program is now finally including the right header files so that it should
compile on non-Gnome systems now
05.04.1999
- implemented update on tree delete. in the course of doing so there have
been some minor changes in getdir.c/getdir.h,primarily getdir_dirinfo
has been adapted to hold a parent-tree_item,which has now to be passed
additionally to getdir_connectstdsignals().
06.04.1999
- defined the stream database for conversion from stream:xxx to trackinfo
- bugfix: selectlist_create() did always create a 3 column list despite the
value given as parameter
- created internal struct source including isotrack (which already gets
registered to streams)
- introduced trackedit_gettrack() as a generic way of getting a track
of the tracklist,without having to know the internal structure of
trackedit. adapted "record.c" accordingly.
- added handler for destroy to tracks.h,implemented handler for isotrack
- bugfix: destroy() handler did not get called on tracks_destroy()
- introduced function tracks_valid() returning the state of the track
(wether data is available or not),adapted isotrack.c accordingly
- record.c now only records tracks that are marked valid.
- a pointer to the trackinfo struct of a track id now stored within
trackedit clist as given back by selectlist_create();
- implemented drop on trackedit,simply appending the new track to the
existing tracks
- bugfix: only MAX_STREAMS-1 items were possible due to an invalid
streamcount-check
- bugfix: do only write as many bytes as have been read
- bugfix: quit writing process if no tracks were found
- bugfix: do not remove expand symbol from parent tree items (getdir.c)
- created stubs for cdrom source support
07.04.1999
- implemented cd tracklist,currently displaying one data track per drive,
as no detect routines have been implemented yet
- implemented cd copy data track type finally enabling on-the-fly copies
of data tracks
08.04.1999
- implemented tracklist detect function
- implemented audiotrack type and reading functions
- bugfix: set tracktype correctly in audiotrack.c
- bugfix: do check tracktype and call cdrecord accordingly
- introduced precache flag in tracks.h
- implemented track precache call in trackedit.c (currently commented out
due to the lack of the actual functions)
09.04.1999
- implemented precache track and corresponding functions,
uncommented entry in trackedit.c
- added preliminary support for recognizing recorder precaching flag
by spefifying recorder in preferences.h
- bugfix: do clean memory after starting up a pipe (arguments string did
not get clear after function call,which may have caused the occasional
segfaults occurring on extensive piping usage)
- bugfix: yet another ugly bug in piping_create() - when copying a string
from one place to another always remember the terminating zero has to
be taken into account when calculating the memory usage of that string
10.04.1999
- made preread non-blocking,adapted trackedit.c to the new design
- preread tracks now have " (preread)" added to their name,
trackname and filesize now get upated after a preread
- bugfix: track1 was precached regardless of the precache flag
- bugfix: fixed totally messed routine which caused tracks to be preread
only when all they were direct neighbors in the tracklist
- bugfix: do not increment currently preread tracks running number
just after initializing preread cycle
11.04.1999
- implemented tracks_tracksize() for audiotracks using cdda2wav
- created progress box when prereading tracks
- implemented deleting temp file when preread track is destroyed
- bugfix: handle precache-requirement degrading in precachetrack_stopcb()
correctly
- deinitialize Tracklist,deleting temporary data allocated by precaching
- renamed gtogo to gtoaster (not yet consequently though)
- created "make install" rule installing gtoaster in /usr/local/bin
- created definition specifying the location of the icon files
12.04.1999
- implemented measuring throughput and estimating remaining time when
precaching tracks
- translocated icons from external files into the ELF binary
- added scrollbars to Tracklist Window
- do compute *.h dependencies in Makefile,enabling objects to be
automatically recompiled whenever their header files change
[patch by C.Wendt@bigfoot.com]
- created basic doubleclick management object,introduced dummy handler
for selectlist.c
- implemented full doubleclick handler for selectlist.c,adapted filelist.c,
changed several calls to filelist.c and selectlist.c according to the
new call rules
- implemented a changedir in getdir.c,which allows to change into a tree item
by specifying its parent item and name
- implemented handlers in source.c and fsedit.c to handle double click on
directories
13.04.1999
- did some organisatory stuff: created Credits,Install and README files
- converted varman.c to normal c,adapted varman to suit the special needs
of GnomeToaster,still missing save functions though
- created treedroppatch.c,patching the tree to accept drop events correctly
using a method inspired by Christian Wendt:
The root tree is now set up as drop destination. a handler is then
installed for the root tree,redistributing the drop events to their
appropriate receivers manually.The receiving items get a normal
data_received signal,including the normal data theyd usually get.
So this problem could finally be solved with the effort of just
a few lines additional source code.
- consequently disabled initialization of any treeItem as drop destination.
all of them are now handled by treedroppatch.c (remember the first one ?
it would have worked anyway,but is now also handle via treedroppatch.c)
- changed Selectiontype for trees from single to browse which makes the
trees behave more adequately when doing a tree-drag
- applied Patch by Christian Wendt to process some basic commandline
parameters,first-time-enabling configuration without recompilation
(this code will undergo significant changes in the near future though,
as the moment is close when the final preferences-concept will
be complete)
16.04.1999
- implemented datatracksize detect using recursive seek&read
(try and error principle somewhat similar to recursive search alghorithms)
- relocated tracksize detect for data tracks from the correspondent track
ioctl to the trackinit function. this speeds up working speed significantly
as tracksize has to be calculated just once...
- implemented filedrop on trackedit support,treating every file as a
raw data track.
- bugfix: corrected include define for datatrack.h
18.04.1999
- temporarily enabled precaching for isofs tracks as an attempt to write
a 460MB data cd went wrong due to loss of streaming
22.04.1999
- reenabled on-the-fly writing of isofs tracks as the loss of streaming
was definitely caused by a very fragmented dos partition and did
never occur again since the harddrive has been defragmented.
- created datacopydlg structure collecting all those routines and
vars used when displaying a progress box,so that this box can easily
be reproduced on other occasions...
- fixed a bug where isofs got stuck in estimating tracksize due to a full
error pipe coming from the child process calculating disc usage
- introduced progress bar during the recording process
- negative rest times originating from miscalculated tracksizes are cut
to 0 in datacopydlg.c
25.04.1999
- enabled selective hiding of certain popup menu entries by setting
their handlers to NULL
- introduced popup entry "mkdir" to support directory creation within
a selectlist.
- adapted program context accordingly,implemented mkdir handler for
fsedit.c
- implemented create_directory dialog in fileman.c,introduced mkdirin(p,n)
convenience call in dirlow.c
- bound mkdirdialog to popup menu and implemented display updating
- bugfix: update the right side on dir_tree_remove also when directory
to be removed is not currently selected
- implemented Create Dir dialog within the tree structure,appended
corresponding entry to popup menu
- removed parent!=NULL check in getdir_connectstdsignals,thus attaching
the popup menu also to items without parents
Handler functions do have to take care of themselves now
- bugfix: fixed nasty bug where fileman_mkdirdialog invoked the callback
function with the wrong data structure
- bugfix: update tree side when directory is created
- bugfix: update subdir informations when directory is created
- introduced a define in preferences.h defining a standard buffer size
used for copying,writing,reading,recording
- removed some unused vars from precachetrack.c
27.04.1999
- added convenience functions to varman to process copies of strings,
not the strings themselves. This makes varman var handling a good
deal easier.
- GnomeToaster now uses varman to store its preferences.
- fixed bug in varman where no variables could actually be set because
of a malformed comparison while range-checking the database
entry counter
04.05.1999
- switched from mkisofs to mkhybrid,creating Joliet+Rockridge extensions
by default
05.05.1999
- introduced menu entry for editing the preferences. no handler function yet.
- implemented stub preferences dialog with a few exports to add config pages
as necessary
- created "apply" mechanism for preferences
13.05.1999
- implemented the first varmanwidgets widget,a test input box,which connects
to a varman var and provides a visual widget.
- implemented fsedit_destpath editing feature using the new preferences
functions. This Widget is not of any use yet,though,as handlers for
applying changes to the varman var are still missing.
14.05.1999
- created some handling routines for varman_change_callbacks (including
their implementation using a Glist) -> varman should now be mostly
up to date for what i need
- implemented varman var updating from varmanwidgets_entry
- defined connectivity of varmanwidgets more accurately
- corrected an implementation bug within the glist access functions
- introduced Undo button to preferences panel
- defined stub handler for fsedit changes
- finished work on first configuration item (which was practically the
worst already: the FSEDIT_DESTPATH var)
- made isotrack.c configurable via preferences
- bugfix: do allocate significantly more memory than necessary within the
varman_copy functions so that the caller can actually work with the strings
returned
15.05.1999
- use varman for preferences of the recording part
- introduced varmanwidgets_checkbox
- bugfix: APPLYMODE_ALWAYS didnt work with varmanwidgets_entry
- created basic configfile handler functions (configfile.c/configfile.h)
- implemented saving and loading functions for varman variables
- adapted main.c to call save function on exit
- bugfix: isotracks no more contain their own directory informations.
This was unnecessary from the beginning and was responsible for
isotracks not accepting directory changed if preferences setup
preferences entry changed due to this fact: $path got replaced by
fsedit_destpath. Calling syntax for isotrack_create changed,
adapted callers accordingly...
17.05.1999
- added cdda2wav call to preferences
- added varman_replacestringbyfloat in varman.c for convenience reasons
(used by audiotrack.c to insert the current tracknumber)
- changed audiotrack client call to use setup preferences
- changed cdromlow.c to meet setup requirements in determining tracksize
(should be become obsolete soon,as tracksize will be determined by
Gnome Toaster itself in the future)
- introduced a simple list of cdrom drives,changing this one dynamically
must be implemented by using callbacks again
- implemented automatic updating of the cd drive list on configuration
changes
22.05.1999
- replaced dirty cdda2wav calls in cdromlow.c by direct ioctl()s to the
cdrom device. This speeds up the procedure of determining the cdrom
geometry dramatically
- introduced cddb readout in cdromlow.c,unused yet
- display cddb code in tracklist
- removed some varman var concerning the now obsolete cdda2wav tracksize call
- bugfix: cdromlow_tracks returned one track when no cd was present,
this is now fixed by checking wether the toc header could be read
successfully
- removed tracks_destroy() because this was a way to really get gnometoaster
into trouble. The right to decide about the further fate of a track is now
in the solely in the hands of tracks_claim/tracks_unclaim.
clients do register if the intend to use the track. the track is disposed
when the last user calls unclaim().
- implemented claim()/unclaim() support wherever this is possible by now
(it isnt in cdsource.c as there is currently now place to put the
unclaim()-part)
- introduced #define DEBUG;if enabled,debug messages are cast to stdout
- bugfix:do not use any of the struct entries in isotrack_tracksize
for storing process informations as those fields might already be used
by an open reading process
23.05.1999
- use claim/unclaim in streams.c
- bugfix: streams did unclaim the last track whenever unregistering a track
- moved all cdrom drive handling functions from cdsource.c into cddrives.c,
leaving only the display and user interface functions in cdsource.c.
This should help getting some structure into the source and,most
importantly,prepares the source for the introduction of cd change
detection functionality (which should be easy now)
- introduced cd change detection using cddb code and 1000ms timeout
- moved the streams_register() call for cdrom tracks to cdsource.c into
the tracklist builder (thus keep a copy of the tracks even if the
cd got changed in the meantime along with the toc of the cd currently
displayed)
- implemented cddb to cdrom lookup as a requirement of the advance track
referencing to be introduced into audiotrack.c and datatrack.c
- bugfix: return zero for cddb code if theres no cd in the drive
- bugfix: disable disk change detection during write/clear
24.05.1999
- bugfix: audiotrack.c got the wrong cddb number because of a crippled
cdromlow_cddbnumber() call without arguments => stream identifier for
audiotracks was no longer unique -> system crash after 2 or three
registering procedures for the cdsource tracks.
- file ./dir.cache is now ~/.gtoaster.dircache,which is far more appropriate
- updated installation documentation
- return "" in varman_xxx_copy functions if varman_xxx returned NULL
(=entry not found)
- replaced enum tracktype definition in tracks.h by the string as it is given
directly to cdrecord,changed cdrecord.c accordingly,rest should be covered
by the macro definitions introduced in tracks.h
- implemented preliminary filetype recognition,displaying correct tracktype
on drop. Conversion handler is currently ignored though
- changed piping.c to support already open input pipes. this feature is used
to pipe files to their conversion routines.
adapted the rest of Gnometoaster to force the old behavior of creating an
input pipe by submitting -1 as inpipe number
- completed preliminary wave file support for track editor. This is not the
final thing yet but better than nothing
- bugfix: make a local copy of string containing tracktype in tracks_create
and free it in tracks_destroy.
- changed default datacopydlg size to 320x200
- disable cd change detection during cd accesses (reading audio/data)
25.05.1999
- Makefile now uses gtk-config to determine the correct locations of the
gtk libraries and header files. This should solve a few problems for
several people who had to edit the Makefile previously.
- added "-eject" to the default cdrecord calls for fixate and cdrw clear.
This should be pretty useful. Remember,this only affects the defaults
which are generally overwritten by an existing ~/.gtoasterrc file.
If this file already exists,consider either adapting it to the new
calling syntax or deleting it in which case youll have to reconfigure
Gnometoaster.
- removed -eject from the default cdrecord calls as this specific feature of
cdrecord behaved a bit odd by ejecting the cd at the beginning and
then exiting without a comment. So I introduced a second cdrecord call
that does the ejection after the actual cd access. Added control widget
to enable/disable ejection,introduced a widget to edit the command line
for ejecting a cd.
- bugfix: if output of cdda2wav was too big we had a pipe overflow again,
which made cdda2wav exit immediately without reading the track.
stderr is now redirected to /dev/zero which is the general concept to solve
such a problem at the moment. Added DEBUG feature however,writing all
stderr output onto the recording console of Gnome Toaster.
- did the same procedure for all piping calls of isotrack.c,which was another
potential bug source in that matter.
- did some initial work on Gnome Toasters documentation (using sgml).
- added Makefile for Documentation
26.05.1999
- did some work on the Documentation
- added little2bigEndian conversion to the sox call as apparently sox
thinks that cd digital audio is little endian,which is wrong.
Dont know why the wav writer did work yesterday,though. Probably
either cdda2wav or cdrecord detected the wrong endianness and converted
the data on the fly. This is most annoying...
28.05.1999
- reimplemented stream handling avoiding a possible point of unexpected
behavior when a cd changed from one drive to the other because streams
couldnt be adressed uniquely in that situation.
the new stream adressing scheme also detects streams coming from other
instances of Gnometoaster and reacts with an appropriate message in that
case. Later this could be the point where a system-whide interchange
protocol for streams could set in.
- bugfix: let libc decide about a filename for a temporary file.
this is way of cool and avoids a situation where you wanted to have
the same audiotracks twice and then removed one of those tracks,deleting
the cache of the second one as well (this situation can,however,not be
provocated at the moment as you cant remove tracks from the tracklist yet)
- reimplemented cdromlow_datatracksize() reading toc instead of recursive
guessing which was kind of an emergency solution when i realized that
detecting tracksize using a lseek to the end of /dev/cdrom didnt work
- count displayed tracknumber when writing from 1. Internally the first track
in the tracklist is still track 0 though.
29.05.1999
- Gnometoaster now also handles the output pipe with gdk to ensure
frequent display updates.
- update progress bar every two seconds only in datacpydlg.c
- changed update interval to one second
- deactivate either input or output depending on what is the next logical
step -> another try to make gtk update its display during the precaching
phase (did not help,though. Likely to be undone in the future...)
31.05.1999
- introduced a list of possible tracktypes to tracks.c
- created a function to build a GList out of string arrays terminated with
NULL in helpings.c
- created the final file2tracktype database in filetypes.c
01.06.1999
- implemented removehandler functions for the preferences buttons.
necessary for unregistering filetype declarations.
- finished work on the file2tracktype database and its setup.
Still missing: save routines.Database is currently not used.
- removed stdfiletrack_init() in favour of filetypes_init().
Were getting serious now about the filetype database
- added a default filetype registry entry hopping in whenever a suffix
couldnt be mapped to a registry entry.
- set up a piping call to a handler function instead of a handler command
in piping.c this will be used to implement little->bigEndian conversion.
- implemented on-the-fly little->big endian conversion.This should now make
mpg123 work directly to write mp3 files.
- bugfix: do not let info->suffix point to temporary string in stdfiletrack.c
02.06.1999
- send a SIGKILL to converter and filter on close() in stdfiletrack.c
- do a #define DEBUG to datacpydlg.c and the dialog box is no more modal.
- in debug mode,write stderr of the byteswap process to rterm console
- Gnometoaster now uses autoconfig and automake. [Chris]
- changed piping_create_function to give the client functions the new
standard input/output/error as argument while filedescriptors
0,1 and 2 remain at their original values.
- created piping_create_getoutput in piping.c to get the output of a
specific program call in a single string or as it is a data buffer.
Whats nice for bash scripts should be nice for Gnometoaster,too :-)
(this function will be used for tracksize detection in stdfiletrack.c)
- rewrote commandline parser for piping_create() to allow arguments
containing spaces.
- implemented function to get a specific line from a longer output stored in
a buffer in helpings.c
- implemented function to parse numbers from a string (will be used
for the detectsize functions later)
- implemented some basic Gnome Support,detecting the presence of Gnome and
creating a few menu structures in a Gnome-compatible way. This makes
Gnome look a lot better [Chris]
- introduced a Gnome Toolbar (toolbar.c/toolbar.h)
for easy access to the most wanted functions (Gnome-only).
Patched record.c to switch to the record notepad entry whenever the record
or clear_disc function is called. Added Clear Disc and Record to the
Toolbar. [Chris]
- made the button for writing multisession support insensitive
(developing real ms compatibility will take its time...) [Chris]
04.06.1999
- enlarged filename and trackname field within clists.
- streamid field is now hidden in tracklists
- bugfix: call disconnect for stdfiletrack.c byteswap debugging stream
only if byteswap was really active.
- added debugging infos to the selectlist code to investigate into a problem
avoiding a selection of files to be deleted sporadically.
Since then,the problem never occurred again,though.
- bugfix: corrected little bug in piping_getoutput() where stderr got read
only when stdout was done.
- bugfix: helpings_getlinestart() got confused about empty lines
- bugfix: check if requested line is present in helpings_getlinestart() and
return an error if not.
- bring Preferences Window to the top when Edit/preferences is selected
in menufunc.c [Chris]
- bugfix: wait for the client to finish in piping_create_getoutput() to
avoid the clients becoming Zombies
- bugfix: fixed the mkhybrid and du call in preferences setup. as it didnt
use spaces Gnometoaster would have gotten into problems once
fsedit_destpath would have contained a directory name with a space in it.
right now,fsedit_destpath may not contain quotation marks though.
Well need a function to replace them by \".
- bugfix: avoid crash when directory is dropped onto the track editor.
- bugfix: when an escape character (\) is found in a call by piping_create
it did not only make a special character ineffective but also ignored
it (didnt write it into the output). This is now fixed,so escape chars
should now get processed correctly.
- bugfix: check if a pipe really is open before calling close() for it in
piping_create().
- bugfix: close cstderr in byteswap routine. Close the other side of the
pipe as well.
- with this being done properly reintroduced proper _exit() call to
byteswap,which made all those Zombies disappear.
So one of the major problems of the last few days seems to be finally
fixed now.
05.06.1999
- print error message if pipe couldnt be created in piping.c
- bugfix: piping_create() would have crashed Gnometoaster the same way
byteswap in stdfile.c did: by exiting a child process via exit().
it does now use _exit() just as byteswap does.
- replaced exit() call after piping_create_function() by _exit() out of
the same reasons
07.06.1999
- implemented titles for the various CLists used in here... some
"incompatibilities" with the ScrolledWindow show up, though. Titles should
remain disabled for the first time i think :-/ [Chris]
- Fixed that incompatibility... gtk_scrolled_window knows about
gtk_container_add - the clist handles scrolling by itself now. [Chris]
- GTK_Version: made main.c export a "menubardock" widget, menubar.c puts
it's (GTK-style) menubar into this widget - now "void menubar_create()"
ist very similar for the GTK and GNOME Version. [Chris]
- introduced -1 as special significant_column value within selectlist.c
to address the hidden data pointer field of a clist from the drag and drop
routines
- use the above declaration to store the streamid within the gpointer data
field instead of a real visible clist field. Hiding "visible" clist rows
seems to be impossible by definition,only apparently gtk has a bug there
until you set the width value yourself or use a title bar for the clist.
Anyway,we cant use bugs for our own purpose,can we ?
- added extensive debugging code to tracklist.c to find a bug that makes
Gnometoaster crash just when it is about to preread a new track.
Its probably some memory leak introduced by either the titlebar work
or the gpointer dnd handler.
- bugfix: free args[] in piping_create.
- center view of the directory flag in filelist.c
- bugfix: do not claim() tracks twice in streams_getstreamid().
- bugfix: do allocate stringsize + 1 (!) for the trailing zero in
tracks_create()
- bugfix: streams_getstreambyid() had the same problem.
08.06.1999
- do not start precaching in drop handler,set zero-timeout instead again
- introduced a warning if varman_getvar_copy had to create a copy of a string
longer than VARMAN_MAXSTRINGSIZE
- bugfix: cant see why a tmp==(char*)malloc(255); should do what it is
expected to. in other words: a f*cking typo kept me busy for almost
two days :-(
- bugfix: found another occurrence of tmp==(char*)malloc(255);
probably due to some block copy to shorten work.
Occurrences were: varman_replacestring_byfloat() and
varman_replacevarbyvalue_float().
- bugfix: changed minor bug in fileman_selectionhandler() where a leading
ASCII 10 was not treated correctly.
- bugfix: do not refer to additional trackinfo of the already unclaimed
precachetrack structure in precachetrack_stopcb().
- bugfix: unclaim() the client track if a precaching track is being
destroyed. Changed stopcb to specifically claim() the client for the
caller.
- bugfix: do not initialize new filetype definition with "none",use ""
instead which is interpreted as none by stdfiletrack.c
- bugfix: stop the gtk_timeout by returning 0 in its handler function
when precaching is about to be processed in trackedit.c
- bugfix: dropping a file without a suffix onto the track editor made
gnometoaster crash in filetypes.c This case is managed in stdfiletrack.c
now by setting the files suffix to "".
09.06.1999
- bugfix: close the intermediate pipes of stdfiletrack.c within the main
thread so that the client is the only one having them open from that
moment on.
- do not create pipe to /dev/zero for main process when NULL is
passed as a pipe pointer to piping_create(),so explicitly closing them
again is no longer necessary.
- adapted piping_create_func() as well.
- bugfix: do not close(-1) in piping_create_func();
All that work about those pipes seems to have finally killed that bug
about streams failing to send data.
- cleaned up piping.c,reducing the number of fork() calls to a single one
in piping_create_function().
- test the pipes if they could be opened correctly before theyre connected
to the client programs stdin,stdout and stderr in
piping_create_callback().
10.06.1999
- worked over cdromlow.c to make the routines use the same codebase as much
as possible,avoiding two routines containing the same lines of source.
- bugfix: check if opening the cdrom drive went ok and do not close()
the filedescriptor used for that purpose if this wasn the case.
- bugfix: introduced fd sanity check before all close() calls within
Gnome Toaster
- disable media change detection during a precaching cycle
- bugfix: restored old method of precaching where during the precachephase
io monitoring was done to the input stream only. This may cause certain
failures in updating the display again,if the source drive is faster than
the destination,but it seems to fix those hangs occurring during the
precaching phase
- set standard buffer size to 16384
- changed callback structure for trackedit.c (trackdrop)
- preferences dialog catches DELETE_EVENT now. (fixes SegFault when the
dialog had been destroyed and the user requested it to reappear) [Chris]
11.06.1999
- set the initial timeout for precaching on trackdrop to 0.
The timeouts of all the following tracks have been set to 500
(0.5 seconds). This should still be enough for Gtk to come to terms
with its pending events.
- changed cdrecord default from "/usr/bin/cdrecord" to "cdrecord".
- disabled precaching for stdfiletrack.c
- introduced optional scsiid field for cdrom drive definition.
This field can be used within the cdda2wav call as an alternative way
to address the cdrom drive. The optional scsi id is given within cdrom
drives setup in brackets behind the device special file.
If no id is given,using the $scsiid var within the cdda2wav call will
result in an empty string
- introduced function cddrives_getrombydevicename();
15.06.1999
- added field "sizealg" to filetype list. Using this entry,the user can
specify the way informations about a certain file are used to calculate
the resulting track size when a file is dropped on trackedit.
- enlarged the preferences dialog to fit the new filetype entry length.
- introduced calc.c/calc.h to the project. Adapted calc. to meet the
requirements of Gnometoaster,esp. changing the calls to varman to the
new plain c syntax.
- prepared calc.c to handle functions with multiple arguments
- designed a concept for dynamic expression management in calc.h
- implemented dynamic expression management in calc.c using GLists
- use calc.c to calculate track size,introduced getpos(x,y) function
in stdfiletrack.c
- stdfiletrack.c does now cache the tracksize and result the cached value
only instead of calling the calc routine whenever the tracksize is
requested
- preinstalled example configuration featuring mp3info to detect mp3->audio
tracksize
16.06.1999
- bugfix: initialize readresult in piping_create_getoutput().
- added -Wall to compile parameters
- bugfix: initialize trackentry with non-zero value in cdsource.c
if trackentry would have been zero accidentally,the whole function
might have done unexpected things
- bugfix: helpings.c nmbstart did not get initialized
- removed warning conditions displayed with -Wall throughout the source.
- introduced saving concept for config files in configfile.c
installed store-callback for global_defs utilizing the new storage concept.
- prevent filetypes_getfiletypehandler from ending up in a recursive loop
when "default" cannot be found.This has been an impossible event until now.
Now,this routine can be used to check for the presence of a default handler
within filetypes_init().
- store filetype definitions in filetypes.c and load them from the config-
file if available. Otherwise,install default handlers.
- bugfix: handle readcount of stderr and stdout separately in
piping_create_getoutput(). This fixes the output failures occurring
sometimes...
18.06.1999
- removed the docking widget concept in main.c so that the gtk menubar
does now connect directly to surroundings again. surroundings is
exported by main.c for exactly that purpose. This step imho improves the
readability of the source and avoids the necessity to create a new
docking widget for every bar and item we create. This has been some
preparing work for the introduction of the fillstate widget which will
connect to trackedit to determine the fillstate of the current cd.
- created fillstate widget in fillstate.c
- introduced callbacks in trackedit.c to inform interested parts of the
program about changes of the tracklist.
- connected fillstate widget to trackedit update callbacklist.
- now all sizes (tracksize, filesize) are formated, every 3 digits will be
seperated by a '.' [Chris]
19.06.1999
- made fillstate widget sensitive for changes within the isotrack file
structure. So editing the filesystem with fsedit finally has an effect
to the fillstate display now.Introduced a callback list in tracks.h
and fsedit.c for that purpose
- introduced updatehandler.c,which contains some generic handler functions
and definitions for callbacks (signals).Those functions are now used in
trackedit.c,fsedit.c,isotrack.c The proprietary functions provided by
the mentioned parts of Gnometoaster have been removed.
- add isotrack to tracklist automatically if the cd filesystem is edited
and the tracklist is empty
- bugfix: call trackedit_updatehandlers when isotrack gets auto-added
20.06.1999
- changed preferences default entry for cddrives_drives.
- always add default filetype on top of the filetype list.
- defined header menusys.h with some basic definitions for generic menu
support. This is where the generic popup menu definition will go and
this will be the abstraction level deciding between
gnome- and gtk-style menus,so for all high level functions like menubar.c
this will not matter any more...
21.06.1999
- completed menusys abstraction layer. It is now used by Gnometoasters
menubar and works fine with both the gtk and the gnome version
22.06.1999
- implemented standard popup menu management functions. Adapted selectlist.c,
filelist.c,getdir.c to use those functions,adapted source.c,cdsource.c,
internal.c,fsedit.c,trackedit.c to the new syntax.
This way,new popup menu entries can now be created without having
to modify call structures in five different places.
The new popup handler also uses Gnome-style popups where available
24.06.1999
- bugfix: Gnometoaster got a stringlength overflow when deleting too
a long file tree was requested. Now,Gnometoaster catches this event
and prints an error message,leaving the directory as it is and telling
the user to delete it by hand.This is not the ultimate best way,
I am sure,but...
- code cleanup: introduced constant MAXPATHLENGTH replacing all the proprie-
tary stringlength definitions of all those functions working with paths
- bugfix: free the mkdir_info structure in fileman.c after the callback
got called.
- added function dirlow_islink(filename) to dirlow.c
- introduced linkcount.c containing handling functions for a symbolic
link counter that will be implemented in fileman.c.
- implemented link counter in fileman.c to avoid recursive loops occurring
when a symlink references one of its parent directories.
- bugfix: use lstat instead of stat in dirlow_islink(). ARGH!
- introduced unique inode id and its handlers in dirlow.c
with this structure,we should be able to identify a symlink uniquely.
- added security check within dirlow_removedir() testing wether the
directory to be removed is as symlink. In that case,
remove the symlink only and print a warning message as this situation
should never occur ...
- bugfix: dirlow.c dirlow_subdirentries returned -1 if directory couldnt
be read. -1 is,however,reserved for NOTADIRECTORY in dircache.c
This caused directories that were not accessible by the user running
Gnometoaster to appear as normal files...
- return 0 for fileman_adddirectory if source directory couldnt be read
- bugfix: Gnometoaster did not compile with libc versions without a
getopt() implementation. cheap commandline parsing as Gnometoaster
does it can also be achieved by less bloated means.
- removed commandline parsing completely as it did not work with the
Gnomeversion anyway. All parameters supported by Gnome can be used,though.
27.06.1999
- introduced a flag to selectlist_info indicating wether a list is currently
waiting for a drag_finish event.
This can be used to determine wether an item is just to be shifted
to another location within the same list.
- selectlist_info does now also store the line numbers of selected lines
(theyre stored directly in a GLists data field)
28.06.1999
- changed name of "Filesystem (ISO)" to "Gnometoaster-Filesystem (ISO)"
as a reaction to a user request. This is intended to make Gnometoaster
more self-explanatory.
30.06.1999
- bugfix: the Gtk-Version of Gnometoaster was broken due to a not included
header file in dirlow.h,gnome.h includes that header automatically,thats
why i didnt realize.
01.07.1999
- bugfix: corrected the archive creation process sos the package should now
work properly for the debian people.
04.07.1999
- bugfix: make "surroundings" visible before setting it as content widget
in the gnome-version. This probably doesnt fix that alpha users problem,
though.
06.07.1999
- implemented some basic stuff in tracklist.c
08.07.1999
- added gtoaster.spec as some basic attempt to support rpm users with
building rpm packages
10.08.1999
- using tracklist.c for trackedits tracklist now. Probably still plenty of
bugs left. Rewrote precachetrack to make it more natural in handling
tracks (it does now claim() and unclaim() tracks in a more sane way).
adapted record.c and main.c to meet the new calling syntax accessing
the trackeditors tracklist.Prepared everything for some proper edit
functions. A few problems yet need to be solved to get track rearranging
and drop at position working properly.
12.08.1999
- removed unnecessary update call in trackedit.c
- bugfix: set entry count to zero when clearing the tracklist
- removed yet another unnecessary update call in trackedit.c
- bugfix: specify access permissions for precache data (0600)
- added popup menu to trackeditor,making it possible to delete tracks
from the list
13.08.1999
- changed selectlist dropcallback prototype to receive trackposition
- implemented drop at position for tracklist
- implemented track rearranging in tracklist
- bugfix: check if there is at least one track selected before
calling tracklist_removetrack
16.08.1999
- bugfix: invalidate all selections if an internal_drop is executed in
tracklist.c
- bugfix: catch -1 as internal_drop destination and append track to the
list.
- bugfix: prevent crash if selectlist was empty on internal_drop
- bugfix: delete selection informations whenever the tracklist changes.
17.08.1999
- updated documentation (FAQ,Endianness)
- bugfix: depending on the version you use,sox has different ideas of
what Endianness streamtype .cdr has. thus switched to directly telling
sox what format the destination stream is required to be without relying
on the .cdr default type.
- bugfix: extended max_args to a more adequate number. commands can now
be called with up to 50 Arguments by piping_create
24.08.1999
- added downbox to the layout structures defined in main.c enabling
fillstate bar and upcoming preview player to share the same horizontal
space on the bottom of the gnometoaster window
- defined basic preview player structures,implemented drop handler and
several function stubs for the player.
- implemented autoconf esd detect functions. HAVE_ESD is defined in config.h
now if the enlightenment sound daemon libs could be detected on the system
and esd support hasnt been disabled explicitly.
25.08.1999
- implemented handler functions for audio subsystem
- implemented preliminary oss driver
- extended piping_create_function to support open output and error descriptors
(*out!=-1,*err!=-1),adapted source code accordingly
- bugfix: initialize outp,errp with -1 in piping_create_getoutput
26.08.1999
- check wether tracktype is "audio" before piping it to the soundcard
- stop player when end of a track is reached
- set disc change detect interval from 1 to 5 seconds
- bugfix: be a bit more careful about what is dropped to the preview player,
check if a valid track could be determined instead of blindly initiating
the player sequence
- bugfix: do not close filedescriptors explicitly after a pipe call as this
is already done by the pipe process itself.
- bugfix: if sound device is in use,return -1 in audio_oss.c
- bugfix: do not even claim() track if it is invalid in preview.c
- ignore case when searching a filter by extension in filetypes.c
- changed default cdda2wav call to prevent cdda2wav from dropping its
info file shit wherever gtoaster happens to be run from
27.08.1999
- return dummy driver if no driver with the given name could be found in
audio.c
- defined and implemented esd sound driver
- set esd driver as default in preferences.c if gnometoaster was compiled
with esd support. Otherwise,make OSS the default.
- bugfix: return -1 if /dev/dsp couldnt be opened in audio_oss.c
- bugfix: return -1 if esd connection couldnt be established in audio_esd.c
- bugfix: check wether audio stream could be established successfully in
preview.c and stop playing process in case of trouble.
- defined seconds to "hours:minutes seconds" representation converter in
helpings.c
- datacpydlg.c does now use helpings_secs2hms() to display elapsed and
remaining time during a data copy process
28.08.1999
- installed double-click handler for files containing audio -> they get
played by the preview player now if the user double-clicks on them.
- bugfix: make a local copy of selection string before starting to parse it
(which means writing to it).
29.08.1999
- bugfix: allow button 1 doubleclicks only in selectlist.c
30.08.1999
- introduced varmanwidgets_combo widget to meet the requirements of the
upcoming sound system setup
- implemented selection combo box for audio driver,providing a list of
available drivers as a popdown menu.
- bugfix: removed warning occurring when a directory of a newly mounted
partition was changed into from the filelist (getdir.c)
31.08.1999
- bugfix: do not allow a recording process to be initiated while the
preview player is running as this almost certainly causes a loss of
streaming at latest when the track is done and gnometoaster is waiting
for the input driver to terminate.
01.09.1999
- rewrote selectlist selection code in selectlist.c to enable multiple
deletes in tracklist.c and effectively to clean up the code a bit as
it was maintaining two separate selection lists up until now.
Changed accesses to the selection list accordingly.
- bugfix: implemented advanced doubleclick handler for fsedit to play audio
files through media player
- bugfix: test if row is already selected before inserting it into the
list of selected rows in selectlist.c
02.09.1999
- implemented preliminary oss detection by checking for the presence
of <linux/soundcard.h> in the configure script.
We'll have to extend this to support oss on freeBsd etc. in future
versions...
03.09.1999
- implemented multiple files delete.introduced selectlist_insert/remove
as wrapper functions to the clist_insert/remove functions keeping track
of selections in selectlist_info.
05.09.1999
- replaced icons for fsedit,trackedit,record by Gnome Standard Icons
[Peter J Higson <peterh@cwcom.net>]
- resized Icons to 32x32 to make gnometoaster show a proper layout at
its base window size of 640x480
- introduced varman_getvar_value(),returning float value instead of string
- implemented varmanwidgets_spin_xx for a spinbutton widget connected to
a varman var.
- redesigned recording section widget
- implemented recording speed control bound to varman var "rec_speed",
which can now be used within all cdrecord calls.
- introduced fixating switch
08.09.1999
- use tracklist functions in internal.c and cdsource.c
- ignore precaching flag when isotrack is added automatically.
The precaching request gets processed as soon as the user starts to
work with the tracklist.
- allow var $file within filter calls which is needed for "filters"
that do not support taking their data from stdin.
09.09.1999
- introduced helpings_listcomp to match a word to a list of words separated
by a special identifier.
- use helpings_listcomp in tracktypes.c to match file filters by extension,
thus allowing multiple extensions leading to a single filter entry
(e.g. .mod .s3m ... all running the mikmod filter)
10.09.1999
- introduced icons describing the tracktype of a tracklist entry
- added track length in h/m/s to the standard tracklist display
- implemented generic doubleclick handler for tracklists,calling the preview
player with the selected track
14.09.1999
- added precache entry to struct and display in filetypes.h/c
- rewrote filetypes config retrieval system
16.09.1999
- completed precache flag configuration in filetypes.h/c
- use precacheflag for file->track in stdfiletrack.c
18.09.1999
- switched to different mp3info version (should be more common,it's also
part of the Debian Distrib)
- bugfix: sox calls in popdown list and in default config should be the same
- introduced logo in about box. yet path lacks adaption.
20.09.1999
- introduced helpings_locate to determine the right location of a file
out of a list of possible locations
- use helpings_locate to load gnometoaster's about-logo
- implemented new gtoaster logo scheme,no longer utilizing Gnome-About.
From now on,both the gtk and gnome version show a gtkdialog with
the new gnometoaster about logo.
- use gnome stock buttons in some places if compiled with Gnome support
26.09.1999
- precache mode for audio tracks can now be set within the audiotrack
setup
- introduced global set of tooltips in main.c and defined a convenience
macro to bind a tooltip to a widget
- defined tooltips for preview button and precache flag in filetypes registry
- fixed warning while compiling audio.c
- bugfix: giving non-zero values as arg 3 and 4 to
gtk_paned_compute_position() fixes some floating point exception
problem reported by several people.
28.09.1999
- enabled multisession button writing a ms compatible toc
- installed version numbering var and "fresh_install" flag.
- modified varman_loaddatabase to return a status indicator
- introduced some advisory box when running gnometoaster for the first time.
29.09.1999
- bugfix: made the gtk version work again
- defined macros making configfile update handling easier in configupdate.c
- introduced configfile update watch for multisession var in trackwrite and
fixate call.
30.09.1999
- exit immediately if a configfile for a newer version of gnometoaster
was found.
02.10.1999
- ask wether or not to exit if a configfile for a newer version
was found. Introduced flag preferences_saveonexit,which is set to 0 in
case the user decides to exit gnometoaster,hence preventing
preferences_save() (a new wrapper function for configfile_save())
from performing it's work.
- modified varman.c/h to return a pointer to user data within it's
varman_varchanged callback.
- modified varman_widgets to check for externally changed var values.
- adapted the rest of the program accordingly
- set display position of entry widgets to the first character [chris]
07.10.1999
- bugfix: hand NULL to libesd open stream call instead of "" for
host and name
09.10.1999
- display progress in percent in title of datacopy dialog (thus
in the task list of most window managers and,of course,the gnome panel)
- introduced dummy write option,installed update handler for changed
configuration
- updated default config entries for dummy write
10.10.1999
- created a nice set of actual icons for the preview player instead of the
gtk_label used until now.
- moved default config entries to defaultentries.h - thus all config entries
can now be modified centrally.
18.10.1999
- keep datacopydlg over delete event (if window manager's close button is
pressed)
- implemented database for layout settings => Gnometoaster can now keep
the settings for gtk_widgets (size,location) over a session.
(layoutconfig.c/layoutconfig.h,modified:main.c)
19.10.1999
- changed layout settings interface structure. All layout handling on the
caller's side is now done by calling layoutconfig_widget_show/hide instead
of gtk_widget_show() and gtk_widget_hide()
additionally,gtk_widget_hide() has to be called before destroying a widget
- made datacopydialog window remember it's state
------------------------ Release Oct. 19th -------------------------------
- use mkisofs to create iso track
21.10.1999
- bugfix: avoid a segfault in layoutconfig.c if config file doesn't exist
------------------------ Release Oct. 21st -------------------------------
23.10.1999
- introduction of a new Progress Widget for the Record Progress (keeps
track of CD Progress as well as of Track Progress) [chris]
24.10.1999
- introduced versatile progress dialog,replacing datacopydlg.c and
recorddlg.c
- implemented progress dialogs for cd blanking and fixating.
Both use a guessing alghorithm to give the user a rough idea of
the operation's progress
26.10.1999
- implemented precaching before write for iso track images
- introduced switch deciding wether or not to precache iso tracks
before writing them on cd.
- bugfix: if more data are being transferred than estimated,
display 00:00:00 for remaining time
27.10.1999
- bugfix: prevent SIGPIPE from stopping gnometoaster.
SIGPIPE is irrelevant because of Gnometoaster's
client state check routines.
30.10.1999
- added preferences entry for mount/umount command calls to be used
within the multisession routines
- added preferences entry specifying mountpoint of cd recording device
for the same purpose
01.11.1999
- created menu/toolbar entry
for importing a session off a disc
- defined virtualdir structures and functions
- changed filelist.c to display virtual dir structures if present
- created multisession.c featuring multisession_import()
- generalized fileman.c to be a generic recursive dir structure processor
(currently,only the addxxx routines have been modified,
cause that's all we need at the moment)
- finished multisession_import()
- added several lines of debugging text
- bugfix: fixed memory leak in virtualdir_finddir()
- display old session in fsedit
- display files of the last session in a different color
- implemented actual ms writing calls
- always precache isotrack when in multisession mode,
set tooltip explaining the situation
02.11.1999
- bugfix: trackedit_doprereading() switched cd change detection
back on after precaching but before recording process even started.
-> Gnometoaster got stuck in scsi driver when cd change detect got
called for the first time.
- introduced delete button for fsedit.
- delete fsedit area on exit
- bugfix: mark multisession root as not present when it is deleted
- bugfix: update precaching flags of all audiotracks when switch in
preferences setup changes.
- bugfix: do not turn on cd change detection at audiotrack_close()
and datatrack_close()
- bugfix: disable cd drive change detect if preview player is active.
--> solve this on a per drive basis as soon as possible.
------------------------ Release Nov. 2nd ---------------------------------
04.11.1999
- bugfix: take care of the maximum selection size in selectlist.c
07.11.1999
- use pthreads if available to decouple cd change detection from the
main program. This prevents some cdrom drives from stopping gnometoaster
on a regular basis if there's no cd in the drive.
Also,preview player is no longer disturbed by cd changes this way.
However,if pthreads is not available on your system,you'll still have
the old-style cd change detection
- send SIGTERM to filetype converter as a preliminary solution to a
problem where mpg123 needs a few seconds to exit and keeps gtoaster
from continuing it's work by that.
(see TODO list for details)
- changed the way the media update enabled flag is handled,using a counter
now that is decreased whenever a process wants the media check to be
disabled and increased once this particular process doesn't care anymore.
Media check is performed when counter is positive only.
- added dummy popupmenu entry in fsedit for selecting boot image
10.11.1999
- wait for media update process to finish before starting to write/blank a cd
- introduced vars defining bootimage and wether or not to make a cd bootable,
including their respective edit widgets in the record panel where they can
be easily accessed.
- defined some kind of interaction between the above-mentioned widgets to
making the "make bootable" checkbox insensitive when no valid bootimage
has been specified.
15.11.1999
- bugfix: force mpg123 to produce 44100kHz output in filetypes setup.
changed defaultcall in defaulthandlers.h
20.11.1999
- implemented config file update handler fixing the above-mentioned bug
automatically
25.11.1999
- prepared for internationalization,created int.h to be included
wherever translations are needed,modified main.c to initialize
gettext when running the gtk-only version
- created support script
automatically updating .po file if new translatables habe been added
- began marking strings as translatable
26.11.1999
- completed El Torito Support
27.11.1999
- changed selectlist_info_create() code to create a local copy of the
headings list in order to enable gettext() translation,which isn't
preformed automatically by gtk
- implemented proper semaphore handling code in sems.c and used the new
functionality to make a failsafe implementation of the mediachange lock
- bugfix: do not accept directories as bootimage
------------------------ Release Nov. 27th ---------------------------------
28.11.1999
- added Japanese to the pool of available languages
29.11.1999
- added Norwegian and French to the pool of available languages
- patched Gnometoaster to sort file lists [Kjetil.Thuen@student.uib.no]
30.11.1999
- added Finnish language support
- bugfix: specify access permissions to semaphore set
- bugfix: mark semaphores available on creation
------------------------ Release Nov. 30th ---------------------------------
|