More recent history can be found in ChangeLog.git
2008-05-05 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.15.
2008-05-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (main): Change default time scale format to HH:SS.mmmm
2008-05-01 Magnus Hjorth <magnus.hjorth@home.se>
* src/ladspadialog.c (ladspa_dialog_setup): Save the "none"
channel selection as number -1, so it is consistent when the
number of channels changes.
* src/configdialog.c: Add option to select format on time scale.
* src/chunkview.c (draw_timescale): Use find_timescale_points
* src/main.c (get_time): Added support for SMPTE time code format.
(find_timescale_points): New algorithm for finding time scale points.
2008-04-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (effects_normalize_proc): Don't continue if the
user aborts the peak level search in the normalize to function.
* src/chunk.c (chunk_amplify): Show amplification amount in
progress bar.
2008-04-22 Magnus Hjorth <magnus.hjorth@home.se>
* src/convert_inc.c: Fixes for 64-bit platforms.
2007-11-22 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.14.
2007-11-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (sndfile_load): Forgot to set bigendian flag.
2007-10-16 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (scroll_wheel): Zero-length fix.
* src/document.c (document_set_view): Zero-length bugfix.
* src/viewcache.c (view_cache_update): Fix empty file handling.
2007-10-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/ladspacore.c (ladspa_path_foreach): Use DEFAULT_LADSPA_PATH
if environment variable not set.
2007-08-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_button_release): Fix crash when
middle-clicking before any file has been loaded.
2007-08-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_interpolate_endpoints): For long parts, ramp
down the edges to zero.
2007-08-26 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.13.
2007-08-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (wav_save): Automatically convert if the chunk
has wrong sign or endian-ness.
* src/document.c (document_apply_cb): Forgot to check the
selection_only parameter.
* src/chunk.c (chunk_byteswap): Must add conversion step back to
original format.
2007-08-22 Alexis Ballier <aballier@gentoo.org>
* configure.in: Add check for pkgconfig that is always run so that
variables are setup properly.
2007-06-22 Robert Emil Berge <filoktetes@linuxophic.org>
* src/soxdialog.c (sox_dialog_register_main): Fix effects
detection for SoX v13.
2007-05-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/dataformat.c (dither_convert_double): Several bugs
fixed. Caused practically all double-to-PCM conversions to crash.
2007-05-24 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.12.
* src/effectbrowser.c: Removed the OK button and replaced it with
a check box.
2007-05-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/soxdialog.c (sox_dialog_register_main): If sox is not in the
PATH, just return without any error message.
* src/effectbrowser.c: Added context menu in effect list with
commands for moving,sorting and rebuilding the effect list.
2007-05-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c: Added support for reordering effects.
2007-05-13 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Support dropping files to open them.
* src/filetypes.c (chunk_load_main): Fix mplayer loading bug.
2007-05-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/dataformat.c: Fix for autoconf upgrade.
2007-04-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c: Large changes to the effect list
system. Removed prefix in effect ID, added a separate source ID
character instead. Added extra layer of indirection in
registration to allow for caching of effect list. Removed hard
coupling between GUI list index and effect_list index.
2007-04-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/inifile.c (xisspace): Changed name to avoid clash with libc.
* src/chunkview.c (chunk_view_init): Avoid compiler warning.
2007-03-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/rateconv.c (rateconv_new): Bug in special case inrate==outrate
2007-03-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_convert_samplerate): Forgot to reset conv
pointer.
2007-03-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (main): Initialize threads if building with gthread
library. This is a workaround for aRts library issues.
* configure.in: Check for gthread library if we are using
GTK2. Print warning message if we are compiling with GTK1.2 and
the aRts driver.
2007-01-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/viewcache.c (view_cache_update): Fix for scrolling bug when
zoomed in to <1 sample-per-pixel.
2007-01-01 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.11.
* src/mainwindow.c (help_about): Updated copyright notice.
2006-12-31 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_remap_channels): Added room for ending marker
to internal matrix.
* src/mainwindow.c (edit_selectall): If all is already selected,
select none instead.
* src/gtkfiles.c (get_filename_modify_extension): Accidentaly left
in debug message.
2006-12-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_onechannel): Rewritten using chunk_remap_channels.
(chunk_copy_channel): Rewritten using chunk_remap_channels
* src/mapchannelsdialog.c: New builtin effect "Map channels"
* src/int_box.c (intbox_create_scale): Don't show any decimals.
2006-12-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_convert): Forgot to set samplebytes.
2006-12-22 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_filter_tofmt): Remember to free the
convert_back struct.
2006-12-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (clipwarn): Option for displaying a cancel button.
(chunk_dump): Changed return type back to gboolean.
2006-12-21 Forest Bond <forest@alittletooquiet.net>
* src/mainwindow.c: Added Cursor submenus for Move, Move to, and
Zero-crossing detection.
* src/document.c: Added document_nudge_cursor function.
* src/chunk.c (chunk_parse): Support parsing samples in reverse
and from arbitrary position.
Added functions for zero-crossing detection.
* src/gotodialog.c: Replaced magic numbers by #defines.
2006-12-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/document.c (document_apply): Used wrong variable in
document_update call, causing corrupted data.
2006-11-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_keypress): Ctrl-arrow now moves
cursor also when not playing.
(mainwindow_keypress): Arrow-up and Arrow-down zooms view about
the view center.
2006-10-28 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.10.
* src/session.c (session_init): Free pointer.
* src/ladspacore.c (ladspa_init): Remember to free pointer.
* src/rateconv.c (rateconv_new): Setup readcount and writecount.
* src/player.c (player_set_buffer_pos): Always restart converter
when jumping
* src/rateconv.c (rateconv_new): Add ability to pass through data
when outrate == inrate
* src/inifile.c (inifile_init): Small memory leak found by Valgrind.
* src/session.c (session_init): Make session_dir static.
* src/document.c (document_save): Don't clear history if a soft
error (clipping) occurred while saving.
* src/chunk.c (chunk_dump): Change return value.
* Make sure we always detect and warn when clipping conversion occurs.
2006-10-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_clip_check): Added.
(datasource_read_array_main): Check for clipping when converting
float to PCM
* src/dataformat.c: Add unspecified dither constant.
2006-10-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_peak_level_proc): Only quit prematurely for
PCM chunks.
* src/um.c (user_input): Place window centered above parent.
(user_input): Cleanups.
* src/mainwindow.c: Add "Normalize to..." function.
2006-10-22 Magnus Hjorth <magnus.hjorth@home.se>
* src/pipedialog.c (pipe_dialog_pipe_chunk_main): Progress bar fix.
(pipe_dialog_pipe_chunk_main): Use different buffers for input and
output.
* src/soxdialog.c (sox_dialog_apply): Handle floating-point files
and 24-bit PCM files by autoconverting into 32-bit PCM.
(sox_dialog_register_main): Support newer versions of SoX.
2006-10-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/combo.c: Add a hack to the GTK 1 version, to avoid changing
value directly after opening the dropdown list.
2006-10-13 Jacek M. Holeczek <holeczek@us.edu.pl>
* src/filetypes.c (try_mplayer): Moved variable declaration to top.
* src/dataformat.c (convert_array): Moved variable declaration to top.
2006-09-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (do_play): Set speed properly when having
multiple windows with different speeds. Also fixes speed
auto-reset not updating the speed slider.
2006-08-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-alsalib.c (alsa_set_format): Comment out a call that
sets maximum input buffer size to a bogus value.
2006-08-22 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.9.
2006-08-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-oss.c (OSS_PCMFILE_DEFAULT): Use different default
device under OpenBSD
2006-07-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (xunsetenv): Alternate implementation if
unsetenv returns void.
2006-06-10 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.8.
* src/session.c (session_resume): Don't add the tempfiles to the
recently opened files.
(session_resume): Added a message after recovery.
* src/document.c (document_forget_filename): Send the
state-changed signal so the window title is updated.
* src/sound-jack.c (mhjack_connect): If connection fails, append
the PID to the client name and try again.
* src/session.c (session_init): Use ~/.mhwaveedit directory for
sessions.
(session_init): Fix segfault.
* src/main.c (main): Launch sessions dialog if appropriate.
* src/session.c: New file.
2006-04-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/document.c (document_zoom): Small logic fix.
2006-04-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_replace_part): Inserted new chunk's part list
in reversed order.
* src/mainwindow.c (mainwindow_set_document): Change the
document's status bar.
2006-02-28 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.7.
2006-02-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_save): Don't warn when saving new
recordings.
2006-02-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/document.c (document_set_filename): Null pointer bug fixed.
2006-01-28 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.6.
2006-01-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (get_save_filename): Update extension in file
dialog when the type is changed. Also dim the default settings
checkbox when appropriate.
* src/gtkfiles.c: Support changing extension in the file dialog.
* src/document.c (document_zoom): Used old distance instead of new
in some calculations causing weird zooming behaviour.
2005-11-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c: Support choosing MP3 quality.
* src/mainwindow.c (get_save_filename): Forgot a -1.
2005-11-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/inifile.c (inifile_save): Fix segfault when settings file
failed to open.
(inifile_set): Handle value==NULL properly.
2005-10-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (get_save_filename): Display file format combo
box and check box to use default settings.
* src/filetypes.c: Support file-type specific settings when saving.
* src/gtkfiles.c (get_filename): Support extra custom widget.
2005-10-29 Magnus Hjorth <magnus.hjorth@home.se>
* If an mp3 or ogg file is loaded and then saved, display a
warning about quality loss.
2005-10-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/document.c (document_set_filename): Fixed bug that caused
titlename to become null when it should be "untitled".
2005-09-22 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.5.
* src/configdialog.c: Added auto-detection toggle button.
2005-09-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.c (sound_init): Support auto-detection.
* src/sound-esound.c (esound_output_select_format): Report message
shown to avoid generic error message box.
* src/sound.c: Support silent auto-detection in drivers.
2005-09-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.c: Integrated arts driver.
Common input_supported function for the sound drivers that always
return TRUE.
* configure.in: Added checks for aRts C library.
* src/sound-artsc.c: New file.
2005-09-12 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c (player_switch): Handle auto-conversion properly.
* src/document.c (document_update): Check for sample rate/format
conversion and stop in that case.
* src/sound-jack.c (mhjack_output_suggest_format): Handle if we're
not connected.
2005-08-28 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.4.
* src/document.c (document_set_selection): Handle special case
with no selection differently.
* src/chunkview.c: Shift+Drag now moves the nearest selection
endpoint (left mouse button) or the other selection endpoint
(right mouse button).
2005-08-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/document.c (document_play_selection): Handle case when
nothing is selected as if whole file was selected.
* src/chunkview.c (chunk_view_destroy): Also disconnect here.
* src/mainwindow.c (mainwindow_destroy): Remember to disconnect
document signals.
(file_close): Also need to disconnect here.
2005-08-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_state_changed): Add call to
view_changed so we update the horizontal scrollbar.
(mainwindow_set_chunk): Set the proper follow mode when we create
the document.
2005-08-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/document.c (document_set_filename): Return directly if we're
setting the same filename as we already have.
2005-08-12 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.3.
* src/mainwindow.c (mainwindow_save): Looked at wrong filename.
* src/filetypes.c (chunk_save): Call status_bar_end_progress.
* src/filetypes.c (try_mplayer): Use new mplayer -ao pcm:file syntax.
* src/statusbar.c (status_bar_end_progress): Handle statusbar==NULL.
* src/filetypes.c (chunk_load): Add call to status_bar_end_progress.
* src/mainwindow.c (edit_paste): We must read the cursor position before updating.
* src/viewcache.c (view_cache_update): Handle empty chunk.
* src/chunkview.c (scroll_wheel): Handle far zoomed in view properly.
* src/viewcache.c (view_cache_update): Fix for far zoomed in view.
* src/chunkview.c (chunk_view_update_image): Remove now unneccesary function call.
2005-08-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/statusbar.c (status_bar_end_progress): New function that
must be called in some places to go back into normal info mode.
* src/chunkview.c (scroll_wheel): Check for too large view
endpoint when zooming out.
2005-07-31 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Added redo function.
2005-07-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/viewcache.c (view_cache_update): Removed special case for
small chunks, and handle errors more gracefully.
2005-07-28 Magnus Hjorth <magnus.hjorth@home.se>
* Large code rewrite. Stuff from chunkview.c and mainwindow.c was
moved to the new document.c file. MainwindowList changed to
DocumentList. Redo support added.
* src/document.c: New file.
2005-07-13 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.2.
2005-07-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_expose): Off-by-one error detected
by Valgrind.
2005-06-28 Magnus Hjorth <magnus.hjorgh@home.se>
* src/mainwindow.c (do_stop): Support auto return mode.
* src/chunk.c (chunk_interpolate_endpoints): Forgot to sink the
original chunk after converting.
2005-06-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (edit_silence): Fixed to work with dithering
support.
2005-06-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/dataformat.c (convert_array): Added triangular dithering support.
2005-06-12 Magnus Hjorth <magnus.hjorth@home.se>
* src/configdialog.c (config_dialog_init): Added option to choose
speed conversion method.
2005-06-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c: Change putenv("VARIABLE") calls into unsetenv calls.
2005-06-08 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.1.
2005-06-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-jack.c (mhjack_output_select_format): Refuse format if
sample rate is wrong.
(mhjack_output_suggest_format): Set the proper sample rate.
* src/player.c (player_play_main): Support auto-conversion of
sample rate when varispeed is enabled.
2005-05-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c (get_filename_main): When using GtkFileChooser,
handle the case where last_filename is a directory properly.
2005-05-17 Dmitry "MAD" Artamonow <mad_soft@inbox.ru>
* src/sound-jack.c (mhjack_autoconnect): Patch to fix bug with
auto-connection of JACK ports.
2005-05-14 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.4.0.
2005-05-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_size_allocate): Fix bug that caused
time scale to become invisible under GTK2.
2005-05-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c (get_realpos_main): Never return values higher than
chunk length.
(player_stop): Stop stop position before unref:ing the chunk.
2005-05-05 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c: Changed the default colors.
* src/ladspacore.c: Changed calls to fprintf/perror to
console_message/console_perror
* src/sound.c (sound_init): Make error message a bit more
informative.
* src/chunkview.c (chunk_view_set_selection): Added if-case to
avoid exposing the whole selection while resizing it under GTK2.
* src/soxdialog.c (sox_dialog_register_main): Don't close the
pipe's FD after forking.
* src/main.c (main): Moved gtk_init up so GTK options like
--g-fatal-warnings can be used.
* src/viewcache.c (view_cache_draw_part): Use gdk_draw_segments
instead of gdk_draw_lines.
2005-05-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (main): Added --driver option.
* src/sound-jack.c: Added auto-connection support.
2005-04-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (do_play): Fix bug where moving the speed
slider in a not playing window caused speed to change.
2005-04-27 Konstantin Korikov <lostclus@ukr.net>
* Added NLS support and Russian (ru) translation.
2005-04-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.h: Added include sys/types.h. Required for off_t on
some systems.
2005-04-22 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.8.
* src/rateest.c (rateest_log_data): Don't treat low ratio on the
first period as underrun. To prevent false underrun detection when
changing speeds.
* src/rateest.c (LOW_RATIO_THRESHOLD): Lowered to 0.7 because ALSA
OSS emulation caused false underrun detection, causing cursor to
jump.
2005-04-18 Magnus Hjorth <magnus.hjorth@home.se>
* Added configure option to choose default sound driver.
2005-04-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c: Make the cursor track speed changes better.
2005-04-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_filter_tofmt): Fix error that occur when
running with convert==TRUE and Chunk format already is in fp
format.
2005-04-13 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_init): Forgot to hide the speed
label if the speed slider is hidden by default.
(mainwindow_init): Prevent speed label changes from resizing the
sample view.
2005-04-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-jack.c (mhjack_output_stop): Fixed a bug that caused
playing short sections to just output silence.
* src/sound.h: Support displaying other error messages than the
generic "format not supported" message when starting recording and
playback.
2005-04-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_init): Changed the zoom sliders
into GtkVScale widgets.
* src/sound-sun.c (sunaud_output_suggest_format): This one
modified as well.
* src/sound-jack.c (mhjack_output_suggest_format): Changed to
avoid infinite loops.
* src/player.c (get_new_data): Fixed small loop problem.
2005-04-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_convert_sampletype): Didn't copy the
offsets/lengths properly.
2005-03-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/configdialog.c (config_dialog_init): Replaced caption "draw
view" with "draw waveform"
2005-03-26 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.7.
2005-03-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (chunk_save): Let the user choose format before
doing anything with the file.
* src/sound-esound.c: Added jump delay and settings dialog.
* src/float_box.c: Added floatbox_check_limit function.
2005-03-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (do_stop): Update cursor position after stopping.
* src/player.c (player_work): Modified logic for stopping.
2005-03-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_button_press): Double clicks should
only be handled when done with the first mouse button.
* src/sound-portaudio.c (portaudio_output_select_format): Set
played_bytes to zero before calling Pa_OpenStream.
* src/sound.h: Removed output_played_bytes call and changed the
output_stop call.
* src/player.c (get_new_data): Fix playing selection without loop.
2005-03-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-sun.c (sunaud_select_format): Forgot return statement
at the end.
2005-02-22 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.6.
2005-02-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-esound.c (esound_init): Pass NULL as host, and libesd
will check ESPEAKER for us.
* src/sound-oss.c (oss_try_format): Reversed endian-ness fixed.
2005-02-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c (get_filename_main): Never pass NULL to
g_filename_to_utf8.
2005-02-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-esound.c: The variable should be ESPEAKER, not
ESOUND_HOST.
* src/sound-sun.c (sunaud_select_format): Refuse to select format
with wrong endian-ness.
* src/pipedialog.c (pipe_dialog_pipe_chunk_main): Forgot to remove
byteswap call causing mp3:s encoded with wrong endian-ness on
big-endian systems.
* src/filetypes.c (mp3_save): Fixed saving data in non-PCM or
non-wav PCM formats.
(ogg_save): Fixed saving floating-point data.
2005-02-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c: Reworked to use the rateest code.
* src/rateest.c: New file with algorithm for guessing how much
data has been played.
2005-01-27 Tom Kelly <tom@ancilla.ca>
* src/sound-esound.c: Use ESOUND_HOST environment variable.
2005-01-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_convert_speed): Fixed bug which caused speed
adjustment not to work.
* src/filetypes.c (wav_save): Changed the 4GB warning into 2GB,
which is the real limit.
* src/ringbuf.c: Made the ring buffer lock-free.
2005-01-26 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.5.
2005-01-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/tempfile.c (tempfile_write_main): Handle partial frame
writes better so that you don't lose data if a partition
becomes full in mid-sample.
* src/sound-sun.c: Include stdlib.h to get getenv prototype.
* src/configdialog.c: Added option for using floating-point
temporary files.
* src/chunk.c (chunk_filter_tofmt): Added flag for using
floating-point temporary files (defaults to on).
* src/ladspacore.c (scan_directory): Check for errors after
opendir call.
* src/sound.c: Add a output format suggestion function for
suggesting endian-ness/sign conversions.
* src/configdialog.c (config_dialog_ok): Update the fallback format.
2005-01-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (file_exit): Fix exit menu item not working
when no file is loaded.
2005-01-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-oss.c (oss_try_format): Refuse to play floating-point.
* src/sound-portaudio.c: Same here
* src/sound-alsalib.c: Updated to support new Dataformat struct.
2005-01-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/dataformat.c: Moved the Dataformat stuff into its own file.
2005-01-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/tempfile.c (get_wav_header): Support floating-point headers.
2004-12-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.h: Also represent floating-point format in
Dataformat structure. Remove Datasource types
DATASOURCE_REAL_FLOAT and DATASOURCE_TEMPFILE_FLOAT as they are no
longer needed.
* src/chunk.h: Removed old macros that were no longer used.
2004-12-20 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.4.
2004-12-16 Magnus Hjorth <magnus.hjorth@home.se>
* Added "Quality" and "Bug reporting" sections to the docs.
2004-12-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-alsalib.c (alsa_output_play): Handle underruns properly.
* src/rateconv.c: Added libsamplerate support.
2004-12-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c: Added switch --no-ladspa because the ladspa code
confuses the debugger.
* src/soxdialog.c (sox_dialog_apply): Forgot to check some of the
intboxes, causing old values to be used.
* src/pipedialog.c: Created some new functions for the rateconv system.
2004-12-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/rateconv.c: New file.
2004-12-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): Cut'n'paste error..
(mainwindow_view_changed): Small bug with the hzoom slider
Thanks to Mark Tyler for spotting those.
2004-11-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindowlist.c (mainwindow_list_changed): Forgot to update
the format variable.
* Changed widget from GtkCombo to Combo wherever possible.
2004-11-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c: Changed the prefix of effect names to [B]
for built-in effects, [S] for SoX effects and [L] for Ladspa
effects.
2004-11-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/combo.c: New file.
* src/sound-alsalib.c (alsa_set_format): More error checking.
2004-11-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/configdialog.c (colors_click): Reordered two signal
connections, apparently they could produce a crash in certain
situations.
2004-10-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c (player_set_buffer_pos): Get the start time after
flushing the buffers.
2004-10-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.h: Removed the format_supported functions and make the
select_format functions return an error instead.
2004-10-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_view_changed): Disable the zoom menu
items and "fill" the horizontal zoom slider when editing very
small samples.
* src/chunkview.c (chunk_view_size_allocate): Handle enlarging
window properly when zoomed in to the max.
(chunk_view_update_image_main): Workaround for some waveform
drawing artefacts.
2004-10-07 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.3.
* src/sound-esound.c: Also forgot unistd.h
2004-10-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-esound.c: Forgot to include errno.h.
2004-10-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c: Replaced the old mainwindow list widget with the
new MainwindowList.
* src/mainwindowlist.c: New file.
* src/mainwindow.c: Replaced the all_windows GList with a ListObject.
* src/listobject.c: New file.
2004-09-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/configdialog.c (config_dialog_ok): Stupid bug causing
warning message to be displayed too often.
* src/inifile.c: Use hash table instead of linked list.
* src/effectbrowser.c: Remember pane sizes along with geometry.
* src/main.c (geometry_stack_push): Added an optional extra tag
argument for the stack items.
2004-09-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/viewcache.c (view_cache_draw_part): Added a scaling factor
argument.
* src/chunkview.c (chunk_view_changed): Harmless off-by-one bug fixed.
2004-09-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-esound.c: Re-written from scratch.
2004-09-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c: Support pausing and resuming of the recording.
2004-09-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_open_sndfile): Open the file
ourselves and then use sf_open_fd.
2004-09-13 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_new_with_file): Make sure file
names are absolute in the recent file list.
* src/viewcache.c (view_cache_update): Handle errors without
spitting out too many message boxes.
* src/chunk.c (chunk_open): Don't try to close the datasource that
we just failed to open.
2004-09-12 Magnus Hjorth <magnus.hjorth@home.se>
* src/soxdialog.c (sox_dialog_register_main): Call close_all_files.
* src/main.c (launch_mixer): Call close_all_files. This should fix
a problem with the mixer locking the sound card if it's launched
in the middle of recording.
* src/filetypes.c (run_decoder): Call close_all_files.
* src/gtkfiles.h: Rewrote the file handling functions to use file
descriptors instead of streams. Added a call to close all file
handles from 3 up to the highest encountered file descriptor +
1. This can then be used before exec() is called to ensure the
child process doesn't get any file descriptors other than 0,1 & 2.
2004-08-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c (get_filename): Ask when overwriting a file when
using the file chooser in save mode.
* Released version 1.3.2.
2004-08-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c (apply_click): Added option to re-raise the
effect browser after applying effect.
2004-08-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (geometry_stack_pop): Added sanity check.
* src/filetypes.c (setup_types): Changed to add ogg support if
either oggenc or oggdec is found instead of only if both are
found. Some people seem to just have one of those.
* src/chunkview.c (chunk_view_button_press): Made right click
"snap" to selection start/end if nearer than 3 pixels, same
distance as for the mouse cursor to become arrows.
2004-08-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (geometry_stack_pop): Using
gtk_window_set_default_size instead of gtk_widget_set_usize.
* src/inifile.c (inifile_init): Changed default permission for
.mhwaveedit directory to 0755
* src/mainwindow.c: Double click selects area between the nearest marks
* src/viewcache.c (view_cache_update): Fixed a bug causing the
first pass to be skipped when scrolling.
2004-08-22 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-jack.c (mhjack_setup_buffers): Forgot to multiply
sample rate by sizeof(float) when calculating buffer size.
(mhjack_clear_buffers): Set the is_playing flag to FALSE, so we
wait until there's data in the buffers.
(mhjack_output_play): Don't start playing unless the buffers are
nearly full.
(mhjack_clear_buffers): Removed assertion that no longer must hold.
2004-08-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_keypress): Added keyboard commands
'(' and ')' for playing the first/last 3 seconds of selection (or
file if nothing is selected)
* src/gtkfiles.c (file_exists): Re-written to use the stat function.
2004-08-16 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c: Made background colour configurable.
* src/viewcache.c (view_cache_update): Added a second "pass" that
reads the file with higher quality.
2004-08-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-esound.c: Esound driver contributed by Erica
Andrews.
2004-08-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (list_widget_destroy): Fixed a segfault on exit
caused by modifying a GList that is used by a calling function.
* src/effectbrowser.c (effect_browser_destroy): Forgot to call
inherited destroy function.
2004-08-06 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.1.
2004-08-05 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c: Fixed a bug causing the cursor to stop before end
of file.
* src/filetypes.c (mp3_save): Changed to use putenv (more portable
than setenv). Ditto for ogg_save.
2004-08-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): Added Normalize and Effects
dialog to need_chunk_names, apparently their keyboard shortcuts
still fires otherwise on some systems.
* src/configdialog.c (config_dialog_ok): Put a limit on the number
of recent files just to avoid absurd values.
* src/filetypes.c (mp3_save): Put filename into environment
variable instead of substituting into command line. Better for
security reasons.
2004-07-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/gotodialog.c: No longer a subclass of EffectDialog.
* src/effectbrowser.c: Added selection of which window we want to
apply the effect to. Interface updates to effectdialog and all its
subclasses.
* Set the default button box layout once in main instead of every
time we create one.
2004-07-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Modified the way untitled files are named, so
now they're shown as untitled, untitled #2, ... instead of (untitled).
Moved geometry stack stuff to main.c.
* src/player.c (player_get_real_pos): Re-written to fix cursor
jumping problems.
(player_get_real_pos): Renamed to player_get_real_pos_main and
called from player_work to get the underrun check before any data
is sent.
2004-07-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/pipedialog.c (pipe_dialog_pipe_chunk_main): Don't modify the
sendwav parameter.
2004-07-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c (get_filename): Make sure no double-slashes are
returned.
* src/mainwindow.c: Show most recently opened files in the file menu.
2004-07-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c (effect_browser_init): Put the effect
settings widget inside a viewport, since some LADSPA plugins have
a lot of settings.
2004-07-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/pipedialog.c (pipe_dialog_pipe_chunk_main): If sendwav ==
TRUE, always send the data as little-endian.
2004-06-21 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.3.0.
2004-06-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.h: Changed name of output_play_delay_time to
output_play_min_delay_time, and made the sound drivers return the
latency not counting the driver's ring buffers.
* src/player.c (player_get_real_pos): Avoid unneccesary while loop
that causes cpu usage to slowly increase while playing loops.
2004-06-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c (player_get_real_pos): Decided to only use clock
time to determine cursor position since the latency check caused
problems with jumping cursor and wasn't sample accurate
anyway. Also added check for underruns.
* src/pipedialog.c (pipe_dialog_send_chunk): Return TRUE if the
whole chunk didn't get sent.
* src/filetypes.c (quote_escape): Forgot zero-termination.
* src/pipedialog.c (pipe_dialog_pipe_chunk_main): When not reading
process's stdout, stop sending data if stderr was closed.
* src/chunkview.c (chunk_view_set_cursor): Changed condition to
avoid unnecessary jumping.
* src/sound-jack.c (mhjack_clear_buffers): Fixed a race condition.
2004-06-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/tempfile.c (tempfile_finished_bs): Moved assertion below
variable declarations to avoid compilation problems.
2004-06-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_backup_unlink): Try to move the
file to each temporary directory before making a copy.
* Replaced the toolbar pixmaps with iconset contributed by Adam Pribyl.
* src/gtkfiles.c (get_directory): Implemented for both
GtkFileSelection and GtkFileChooser. Also made
GtkFileChooserDialog windows modal.
* src/mainwindow.c: Added auto-start when jumping to mark flag.
2004-06-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/tempfile.c: API changes to support multiple temp partitions.
Major rewrite to support multiple tempdirs.
* src/inifile.c (inifile_set): Remove the setting if the value is NULL.
2004-06-13 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (file_saveselection): Forgot to free filename.
(file_open): Forgot to free filename.
* src/configdialog.c: Added temporary dir list config widgets.
2004-06-12 Magnus Hjorth <magnus.hjorth@home.se>
* Removed the old chunk_create_temp macros throughout the code.
* src/tempfile.c: Separated temp file related stuff from datasource.c.
* src/mainwindow.c (mainwindow_keypress): Added space key shortcut
for play/stop.
2004-06-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-oss.c (oss_preferences): Added option to avoid select
calls. Apparently selecting on input doesn't work on some
OSS-"compatible" kernel drivers.
* src/mainwindow.c (create_menu): Replaced Sox effects menu item
with a effects dialog menu item that opens the effect browser with
the last selected effect.
* src/effectbrowser.c (effect_browser_new_with_effect): If effect
== NULL, get the last used effect from inifile.
2004-06-05 Magnus Hjorth <magnus.hjorth@home.se>
* src/inifile.c: When reading a setting, don't create it if it
didn't exist.
2004-06-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): Added LADSPA menu item.
* src/effectbrowser.c (effect_browser_init): Changed to use a
slidable container.
* src/ladspadialog.c: New file.
2004-06-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (scroll_wheel): Forgot to update an if-statement
when adding largefile support, this caused a segfault when zooming
out using the scroll wheel.
2004-06-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/ladspacore.c: New file.
* src/convert_inc.c: Moved the conversion routines here from
datasource.c because the Jack driver always needs the float
version even if we're compiling with sample_t == double and I
don't want to duplicate code.
2004-05-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-jack.c: New file (Jack sound driver).
2004-05-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/um.c: Added new call popup_error that doesn't block.
2004-05-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c (record_dialog_init): Remember the last used
record format and automatically set it when the record dialog is
re-opened.
2004-05-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/um.c (showdlg): Added a flag to prevent use of GTK before
calling gtk_init.
* src/main.c (main): Check for -- option.
2004-05-06 Mark Tyler <mark_tyler5@hotmail.com>
* src/mainwindow.c (mainwindow_chunk_change): Reset the cursor so
it won't remain as arrows after cutting.
(mainwindow_show_effect_dialog): Hack that was made unnecessary by
change in effect browser was removed.
(create_menu): Added Ctrl-N keyboard shortcut for normalize.
(create_toolbar): Added inifile entries for loop mode and follow
mode toggle buttons.
* src/effectbrowser.c (effect_browser_init): Change the selection
mode to GTK_SELECTION_SINGLE to make keyboard shortcuts work
properly.
2004-05-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c: Rearranged the dialog a bit.
2004-04-29 Mark Tyler <mark_tyler5@hotmail.com>
* src/recorddialog.c: Added option to limit recording time.
2004-04-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-alsalib.c (alsa_output_want_data): We should have at
least 4 ms of data ready to write. (to avoid 100% CPU usage)
* src/soxdialog.c (sox_dialog_apply_proc): Bug causing the
"butterworth band-pass" effect to crash fixed.
2004-04-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_set_cursor): A new option to keep
the cursor in center all the time when following playback was
added. If it's not enabled, the view will flip one screenfull
whenever the cursor goes out of the view.
2004-04-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c (effect_browser_destroy): Refcount fix.
* src/filetypes.c (wav_save): Warn once when saving large wav files.
* src/chunkview.c: Zero-length fix.
2004-04-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (edit_selectall): Fixed to support off_t.
* src/filetypes.c (wav_load): Support loading wav files larger
than 4GB if LFS is installed.
2004-04-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (get_wav_header_main): Avoid overflow on data
size.
* For large file support, guint32/gint32 was replaced with off_t
in various places.
* src/gtkfiles.c (e_ftell): Use ftello instead of ftell.
(e_fseek): Use fseeko instead of fseek.
2004-04-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (tempfile_finished_main): Set file format tag
to "unknown" on sample_t temporary files.
(tempfile_write): Memory leak and tempfile numbering fix.
* src/filetypes.c (sndfile_load): Create fake pcm tempfile if
appropriate.
(sndfile_load): Treat 24/32-bit PCM files as any floating-point file.
* src/chunk.c (_chunk_filter): Create a fake_pcm tempfile if any
of the processed datasources are floating point.
(chunk_mix): If any of the processed datasources are floating
point, create a floating point tempfile.
* src/datasource.c: Added new datasource types
DATASOURCE_TEMPFILE_FLOAT and DATASOURCE_REAL_FLOAT.
(tempfile_finished_main): Take a fake_pcm argument. If it's TRUE,
assume data written was sample_t values.
(datasource_copy): Forgot a break inside the switch statement.
* src/gtkfiles.c (get_filename): Re-introduced the savemode
flag. Ask when overwriting in save mode, and refuse to load
nonexisting files in load mode.
(get_filename): Added support for the GTK+ 2.4 GtkFileChooser.
2004-04-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_init): Set a default size.
* src/chunkview.c (chunk_view_size_request): Make the requisition
height smaller so we can shrink the window without losing the
status bar.
* src/configdialog.c (colors_click): Added Alt+P,Alt+O,Alt+C
keyboard shortcuts to colors dialog.
* src/sound-oss.c (oss_input_store): Changed the default input
read size if GETISPACE call fails to 1/50 seconds. This change has
been reported to increase performance on some systems for some
unknown reason.
2004-04-23 Mark Tyler <mark_tyler5@hotmail.com>
* src/sound-oss.c (oss_preferences): Make the OSS preferences
window modal.
* src/mainwindow.c (help_about): Make the About window modal.
* src/configdialog.c (colors_click): Add Enter/Esc keyboard
shortcuts for OK/Cancel and make the window modal. Under GTK+ 2,
disable the opacity slider and show the default palette.
(color_select): Make the "previous color" block display the old
colour.
(config_dialog_init): Make the preferences dialog modal.
2004-04-22 Mark Tyler <mark_tyler5@hotmail.com>
* src/recorddialog.c (process_input): Only update the window title
if the text has changed.
2004-04-19 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.9.
2004-04-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c (process_input): Forgot to change a loop
condition.
2004-04-16 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c (player_replace): Handle the same
special case as in do_play here.
* src/mainwindow.c (do_play): Set the new playstart to the cursor
position so the looping works properly.
(do_play): Handle a special case.
* src/chunkview.c (chunk_view_update_cache): Didn't always update the
view at the end.
* src/mainwindow.c (help_readme): Avoid using page numbers in the
code.
2004-04-15 Mark Tyler <mark_tyler5@hotmail.com>
* src/mainwindow.c (get_save_filename): Take the window's title as
an argument and use different titles for Open, Save and Save as
selection.
(help_readme): Under GTK 2, use a fixed-width font for the
Keyboard shortcuts tab to make indentation work properly.
* src/gtkfiles.c (get_filename): Take the window title as an
argument. Also, use gtk_window_set_default_size instead of
gtk_widget_set_usize to avoid making the file selection dialog
un-shrinkable.
* src/effectbrowser.c (effect_browser_init): Use OK instead of
Apply when pressing Enter.
* docgen/D08_keyboard.doc: Added some keyboard shortcuts.
2004-04-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (draw_timescale): Updated the bigsizes and
bigskip tables so we get even minutes on the time scale.
* src/volumedialog.c (findtop): Updated to use maximum_float_value.
* src/recorddialog.c (process_input): Updated to use
maximum_float_value.
* src/mainwindow.c (effects_normalize_proc): Updated to use
maximum_float_value.
* src/chunk.c (chunk_mix): Use maximum_float_value when checking
for clipping.
* src/datasource.c: Decided to change the PCM->float conversion
code so that the max positive float value when converting from
signed becomes a little less than 1.0. Added a function to find
out maximum possible positive value for a certain format. The
float->PCM code was updated to do the reverse so all information
is preserved.
* src/filetypes.c (sndfile_save): Tell libsndfile to use
normalisation for saving.
* src/datasource.c (datasource_open_sndfile): Tell libsndfile to use
normalisation.
* src/recorddialog.c: Added a "peak lock" button.
* src/gtkfiles.c: Remember the file dialog's geometry.
* src/configdialog.c (config_dialog_init): Added option to
remember size/position of windows.
2004-04-13 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Remember window size/position and restore in
future sessions.
* src/chunkview.c (chunk_view_update_image): Selection should be
drawn also when selection start < view start.
* src/inifile.h (INI_SETTING_REALMAX_DEFAULT): Decreased default
disk editing threshold down to 128K.
2004-04-12 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-oss.c (oss_preferences): Put window in center of screen.
* src/configdialog.c (config_dialog_init): Changed layout.
* src/player.c (player_replace): Fixed a bug in latency
calculation that could cause a segfault.
* src/mainwindow.c (mainwindow_chunk_change): off-by-one bug fixed.
(edit_undo): Call fix_title.
* src/chunkview.c: Various changes were made so that the image
pixmap doesn't have to be reallocated and only the relevant part
of the pixmap is updated.
2004-04-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (main): Set the default locale.
* src/soxdialog.c (sox_dialog_apply_proc): Use the C locale when
creating the command line for SoX.
* src/inifile.c (inifile_get_gfloat): Always use the C locale when
reading floats from the inifile.
(inifile_set_gfloat): Always use the C locale when writing floats
to the inifile.
2004-04-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c (process_input): Don't freeze the rms values,
just the peaks.
* src/mainwindow.c (file_saveselection): Use the same default
directory as the regular 'save as' function.
* src/recorddialog.c: Made peak_values into a member of RecordDialog.
* src/samplesizedialog.c (samplesize_apply_proc): Forgot to calculate
samplebytes.
* src/chunk.c (chunk_clone_df): Fix bug giving wrong chunk length.
2004-04-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c: Removed the fake link stuff since it's no longer
needed. Changed xlink into xrename.
* src/filetypes.c (wav_save): Instead of creating a link, rename
the file and change the datasource type into virtual.
* src/datasource.c (datasource_clone_df): Code cleanup. Always
turn virtuals and sndfiles into clones.
(datasource_read_array_main): Handle all fake_pcm sources the same way.
Added type DATASOURCE_REF
(datasource_backup_unlink): Chenged to rename the first file then
copy the rest.
* src/mainwindow.c (mainwindow_update_cursors): Add a check so we
don't update the cursors too often. This could cause a lot of CPU
usage, esp when using GTK 2.
2004-04-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c (xlink): Modified to rename the file and
"remember" the old name in a fake_links table if hard links aren't
available.
(xunlink): Handles fake links.
(e_fopen): Lookup fake link names.
(is_same_file): Lookups fake link names.
(errdlg_filesize): Lookups fake link names.
(file_exists): Return TRUE if it's a fake link.
2004-04-08 Mark Tyler <mark_tyler5@hotmail.com>
* src/recorddialog.c: Display maximum peak values. Added a
'reset peaks' button.
* src/chunkview.c: cleaned up the mouse scroll wheel code so that
GTK 1 & 2 use the same procedure.
2004-04-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Added "Silence selection" menu item.
* src/chunk.c (chunk_read_fp): Fixed a bug.
2004-04-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/statusbar.c (status_bar_set_info): Re-layout if max value is
more than older max values.
* src/mainwindow.c (mainwindow_save): Save the last saved
filename into inifile entry 'lastSaveFile' and use it to select
default directory for save dialog.
(file_open): Save the last opened file name into inifile entry
'lastOpenFile' and use it to select default directory for open
dialog.
* src/chunk.c (chunk_mix): Fixed bug causing bad output and
cleaned up the code a bit. Also added a warning if clipping
occured.
* src/statusbar.c: Made the new status bar work under GTK+ 2 as well..
2004-04-05 Magnus Hjorth <magnus.hjorth@home.se>
* Moved the get_time function to main.c and modified it to take a
highest possible value to determine number of digits that should
be shown.
* Re-wrote the Statusbar widget to be a subclass of GtkFixed
containing labels. This cleans up the code and improves the
formatting of the text. Also removed the ugly leftover
processdialog code.
* src/mainwindow.c (do_play): Fixed the previous fix so play
selection works properly again.
2004-04-04 Mark Tyler <mark_tyler5@hotmail.com>
* src/mainwindow.c (mainwindow_keypress): Use slash key as
shortcut to "play selection".
2004-04-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (do_play): Fixed wobbling sound while holding
down the ',' key.
* src/player.c (player_replace): Fixed cursor getting out of sync
with playback when cutting out parts before it.
* src/mainwindow.c (mainwindow_chunk_change): Fixed playback
ending too early when cutting out parts.
2004-04-01 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_update_marks_r): Fixed a bug causing
segfaults when trying to go to deleted marks.
* Created a new directory docgen/ containing the different
chapters for the on-line help and README file and a shell script
for generating README and help.c
2004-03-31 Mark Tyler <mark_tyler5@hotmail.com>
* src/chunkview.c (draw_time_bars): Draw time as ss, mm:ss or
hh'mm:ss instead of just seconds.
(chunk_view_class_init): Support scroll wheel events under GTK+ 2.x.
* src/mainwindow.c (mainwindow_keypress): Also support keypad +/-
for zooming in/out. Also use '=' as alternate shortcut to '+' since
the '+' key is shifted in some keyboard layouts.
(help_readme): New built-in docs available from the Help menu.
(mainwindow_init): Put window in center of screen and support
Enter/Esc key presses as shortcuts for OK/Cancel.
(create_menu): Changed keyboard shortcuts for paste to Ctrl+V and
added a few other.
* src/recorddialog.c (process_input): Show amount of time recorded
in window title.
2004-03-30 Mark Tyler <mark_tyler5@hotmail.com>
* src/chunk.c (get_time): Show hours separately.
2004-03-29 Mark Tyler <mark_tyler5@hotmail.com>
* src/gtkfiles.c (get_filename): Put window in center.
2004-03-28 Mark Tyler <mark_tyler5@hotmail.com>
* src/effectbrowser.c (effect_browser_init): Centre the window and
add support for Enter/Esc key presses.
* src/gotodialog.c (goto_dialog_new): Same here.
* src/pipedialog.c (create_error_window): Same here.
* src/recorddialog.c (other_format_dialog): Same here.
2004-03-27 Mark Tyler <mark_tyler5@hotmail.com>
* src/configdialog.c (config_dialog_init): Put the window in
center.of screen.
(config_dialog_init): Enter keypress made shortcut for clicking
OK, and Esc made shortcut for Cancel.
2004-03-25 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.8.
* src/chunk.c (volume_ramp_proc): Avoid rounding error causing
weird behaviour when fading large parts.
* src/recorddialog.c (record_dialog_set_format): Forgot to set
some members to NULL after freeing them.
2004-03-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (chunk_save): Try opening the file for append
once to make sure we don't save over write-protected files.
* src/recorddialog.c (record_dialog_set_format): Handle
unsupported format properly.
* src/chunk.c (chunk_remove_part): Fixed bug causing segfaults.
2004-03-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (chunk_load): Try opening the file once to check
permissions etc.
* src/chunk.c (chunk_read_array): Another fix for large files.
(chunk_read_array_fp): Same here.
* src/viewcache.c (view_cache_update): Fix for segfaults when
editing large files (changed type from guint to guint32 on some
vars).
* src/filetypes.c (sndfile_save): Fix progress bar going half as
fast as it should when saving stereo files.
* src/main.c: A better solution to the 100% cpu bugs. Removed the
old fixes.
2004-03-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (chunk_save_main): Fixed a 100% cpu bug similar
to the one in raw_load below.
* src/sound.c (input_stop): Bug when using the "keep sound driver
opened" option, opening the record dialog, then closing it again
2004-03-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): Added fade in and fade out menu
items and changed the menu layout a little bit.
* src/filetypes.c (wav_save): Don't automatically create a link if
we're saving a regular wav file directly into a new wav file.
* src/sound-oss.c (oss_output_flush): Added a workaround for what
seems to be an ALSA OSS emulation bug in some older ALSA versions
(0.9.6).
* src/volumedialog.c (volume_dialog_init): Modified the layout
somewhat so the tab order of the widget makes more sense.
* src/chunk.c (chunk_read_array): Update the buffer pointer
(chunk_read_array_fp): Same here.
* src/filetypes.c (raw_load): Make the progress bar inactive
before showing the dialog, this avoids a 100% cpu loop.
* src/recorddialog.c (check_format_change): Just wait until
buttons are released, not all modifier keys as some systems seem
to have some modifier keys pressed in at all times.
* src/chunkview.c (chunk_view_motion_notify): Removed unneccesary
if condition that also caused problems on some systems.
2004-03-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/player.c: Added gtk_object_ref/unref calls to player.c
2004-02-24 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.7.
2004-02-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-portaudio.c: Added input overrun count call.
* src/vu_meter.c: Re-written to look more like real analog VU meters.
* src/main.c (launch_mixer): Run mixer command through
/bin/sh. This makes it possible to use any shell command as mixer
utility (for example "rxvt -e alsamixer")
2004-02-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.c: Added ALSAlib driver
* configure.in: Added checks for AlsaLib
* src/sound-alsalib.c: New file.
* src/sound-dummy.c (dummy_input_stop): Allow this call also when
the driver is in state 2.
2004-02-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c: Rewrite finished.
2004-02-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c: Re-writing from scratch.
2004-02-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_init): Forgot to initialize the
'sensitive' member. This fixes a bug with disabled keyboard input
in some windows.
2004-02-07 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.6.
* src/um.c (user_message): When compiled under Gtk+ 2, use the
GtkMessageDialog functions.
* Replaced lots of user_message calls with user_info/warning/error
calls.
* src/chunkview.c: Scroll automatically when selecting.
* src/mainwindow.c: Created zooming scrollbar
2004-01-31 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c: Made selection endpoints draggable and added
ability to select+play using button 2 and zoom in/out using
buttons 4 and 5 (scrolling wheel).
2004-01-21 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_byteswap): Moved variable
declaration to top of function. This caused compilation of 1.2.5
to fail on some systems (RH 7.3).
2004-01-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/um.c (user_message): Put window in center of screen.
2004-01-19 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.5.
* src/datasource.c (datasource_convert_samplesize): React to Esc
keypress.
2004-01-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/sampleratedialog.c: Add support for SoX sample rate changing
methods.
2004-01-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_dump): Increased buffer size to 64K.
2004-01-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (file_saveselection): NULL pointer error fixed.
* src/filetypes.c: Display progress while saving.
2004-01-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_effect_manual): Forgot a
gtk_object_sink call.
2004-01-07 Magnus Hjorth <magnus.hjorth@home.se>
* configure.in: Changed to generate config.h
* src/combinechannelsdialog.c: Use better channel names.
* src/pipedialog.c: Added option to send wav header.
* src/chunk.c (chunk_parse): Forgot a call to processdialog_finished.
* src/soxdialog.c: New file.
2004-01-05 Magnus Hjorth <magnus.hjorth@home.se>
* src/float_box.c (floatbox_set): Made the entry smaller and drop
trailing zeroes.
* src/int_box.c (intbox_init): Made the entry smaller.
* src/gotodialog.c (goto_dialog_apply): Update player position
properly if were playing at the same time.
2004-01-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/historybox.c (history_box_set_history): Fixed harmless
assertion error when history is empty.
* src/mainwindow.c (edit_undo): Update window title after undoing.
* src/chunk.c (chunk_convert_samplesize): Fixed an incorrect
assertion and a small memory leak.
(chunk_convert_samplesize): Fixed bug.
2004-01-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectbrowser.c: New file.
* src/effectdialog.c: Handle failed operations properly.
2004-01-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (file_close): Fix an assertion error when using
File/Close on a window while playing.
* src/processdialog.c: Made progress display in status bar instead
of in separate window.
2003-12-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/statusbar.c: New file.
2003-12-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (find_nearest_sndfile_format): Fixed gcc3 warning.
2003-12-26 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.4.
* src/configdialog.c: Added checkbox for byte-swapped output.
* src/sound.c: Add option to byte-swap output.
2003-12-22 Magnus Hjorth <magnus.hjorth@home.se>
* Redid the bigendian stuff to a better solution..
2003-11-30 Magnus Hjorth <magnus.hjorth@home.se>
* Some bigendian fixes.
2003-10-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.c (sound_quit): Same here.
* src/sound.c (input_supports_format): Need to stop output if
driver is "locked".
* src/formatselector.c (format_selector_init): Wrong order of
endian dialog boxes.
2003-09-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Play/Record menu item was not dimmed properly.
* Added normalize function.
2003-09-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_set_mark): Fixed to remove gcc warning.
* src/main.h (XOR): Fixed macro.
2003-09-23 Magnus Hjorth <magnus.hjorth@home.se>
* Lots of changes to support big-endian systems with automagic
byte-swapping
2003-09-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/filetypes.c (wav_load): Now recognizes big-endian RIFX files.
2003-09-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c: PCM conversion routines now assumes that the
data has same endian-ness as the system instead of always
little-endian.
2003-09-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/datasource.c (datasource_read_array_fp): Fixed big memory leak.
2003-09-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.h: Added macro for systems without 'ceill' call.
2003-07-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_save): Remember which directory we
saved into and use it as default for future calls.
2003-06-10 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.3.
* src/um.c: Changed to use mainloop.
* src/gtkfiles.c (get_filename): Changed to use mainloop.
2003-06-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): Menu reorganisation.
* src/main.c (main): Redone "scheduling" code so the program works
better under CPU load (hopefully).
* src/samplesizedialog.c (samplesize_apply): Make sure the texts
are updated.
* src/sampleratedialog.c (apply): Make sure the texts are updated.
* src/chunkview.c (chunk_view_set_view): Make sure the view cache
follows when scrolling
* src/configdialog.c (config_dialog_ok): Make the time display
mode configurable.
* src/chunk.c (get_time): Show in different formats depending on
the variable get_time_mode
2003-06-07 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (draw_mark): Draw the lines even if they're near
the edge of the image.
* src/player.c (player_work): Removed while loop since it seems to
have caused lockups for some people and it's not necessary anymore
anyways.
2003-05-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_read_array_fp): Bug causing failed assertion
was fixed.
(chunk_read_array): Same bug here.
2003-05-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c: Renamed errdlg_fread_bswap to e_fread_bswap.
2003-05-26 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.2.
* src/vu_meter.c (vu_meter_expose): Added peak values
* Large code rewrite finished affecting a lot of files but mainly
chunk.c. Parts of chunk.c has been moved to datasource.c and
filetypes.c. These changes fixed a few bugs, and hopefully will
make the code easier to debug in the future.
2003-05-11 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.1.
* src/chunk.c (chunk_copy_channel): Optimize for mono->stereo
conversion.
* src/mainwindow.c (effects_splitchannel): Another one of those
segfault-on-cancel bugs.
2003-05-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_size_request): Request a nice size.
* Follow mode implemented. (mainwindow.c, chunkview.c).
2003-05-07 Magnus Hjorth <magnus.hjorth@home.se>
* "Line Mode" option was removed. "Line mode quality" replaced by
"View quality".
* src/chunkview.c: Changed to use ViewCache.
* src/viewcache.c: New file.
2003-04-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/gtkfiles.c: Changed API.
2003-04-08 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_read_array): Fixed offset bug causing data loss.
2003-03-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (effects_mixchannels): Fixed segfault on Cancel.
2003-01-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/historybox.h: New file.
* src/pipedialog.c: Implemented a 'Pipe through program' effect.
2003-01-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/pipedialog.h: New file.
* src/effectdialog.h: Documented.
2003-01-17 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.2.0.
* src/recorddialog.c (record_dialog_execute): Make sure we store
all available data.
* src/chunk.c (chunk_save_to_wav): If we're saving a whole tempfile (or
virtual) and that tempfile is in wav format, link or copy the
file. This should speed up things for example when saving to wav
directly after recording.
2003-01-16 Magnus Hjorth <magnus.hjorth@home.se>
* src/configdialog.c: "Show time scale by default" setting added.
* src/chunk.c (chunk_create_temp_finished): Write tempfiles in
wav format instead of raw format.
* Updated copyright notices.
* src/chunk.c (_chunk_read_array): Multi-chunk bug fixed.
* src/chunkview.c: Time scale functions.
2003-01-15 Magnus Hjorth <magnus.hjorth@home.se>
* src/effectdialog.c (effect_dialog_set_mainwindow): Make sure we
close after all files have been closed.
* src/gotodialog.c: New file.
2003-01-12 Magnus Hjorth <magnus.hjorth@home.se>
* Decided to throw away the multi-threaded player because the
single-threaded version was better. Rename playthread.c to
player.c.
2003-01-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (help_about): Add some info about compilation
settings.
2003-01-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.h: Redefined chunk_filter_proc to be able to use new
chunk_creat_temp...
* src/chunk.c (chunk_create_temp_init): Made these functions
re-entrant and cleaned them up.
* src/sound.h: Added new calls output_wait and
output_flush_buffers. Also made output_stop output all remaining data.
2003-01-01 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_new_from_wav): Avoid choking on very large files.
2002-12-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/main.c (get_home_directory): Made it re-entrant.
* configure.in: Add checks for posix threads but also support
systems where glib is configured without thread support.
2002-12-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (get_temp_filename): Use mutex to make it thread-safe.
2002-12-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.h: API change to chunk_open/read/close to support threads.
2002-12-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/playthread.c: New file.
* src/mainwindow.c: Rebuilt undo system to also restore selection,
cursor, view and marks.
* Removed src/menu.c and src/menu.h (no longer needed).
2002-12-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): Use GtkItemFactory. Added
keyboard shortcuts.
2002-12-10 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.1.6.
* src/mainwindow.c (file_close): Don't ask twice if file should be
saved.
2002-11-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-oss.c (oss_input_store): It seems SNDCTL_DSP_GETISPACE
ioctl always returns 0 on some systems. We must ignore it in that case.
* src/recorddialog.c (record_dialog_getformat): Crash in record dialog fixed.
2002-11-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_new_from_file): Don't try to open directories
and other strange files...
* src/gtkfiles.c (file_is_normal): New function.
2002-11-26 Magnus Hjorth <magnus.hjorth@home.se>
* Updated IFDEFs in the code to match the configure script.
2002-11-25 Magnus Hjorth <magnus.hjorth@home.se>
* configure.in: Changed most of the checking code. Output a
configuration summary at the end. Use pkg-config for libsndfile
check and allow manually specifying libsndfile prefix.
2002-11-12 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.1.5.
* src/chunkview.c (draw_mark): GTK 2 compatibility fixed.
* src/chunk.c (chunk_new_from_sndfile): Fixed a problem with big-endian
files.
2002-11-11 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (backup_savefile): New nice saving algorithm.
(chunk_dump): Close file after dumping.
2002-11-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_save_to_file): Some major changes to the saving
code. Now tries to move old file instead of copying.
* src/mainwindow.c (mainwindow_goto_mark): Start playing at mark
position
2002-11-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c: Make marks move properly when cutting/pasting etc.
2002-11-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_filter): Added convert argument.
(chunk_filter): Changed definition of chunk_filter_proc. All such
functions must be updated.
2002-11-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/combinechannelsdialog.c
(combine_channels_dialog_apply_proc): Ugly bug fixed.
2002-09-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_set_chunk): Handle setting to same chunk properly.
2002-09-19 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_sample_put_array): New function.
The file type system has been redesigned with the new libsndfile format
enumeration functions.
2002-09-17 Magnus Hjorth <magnus.hjorth@home.se>
* Changed configure.in to detect libsndfile 1.x
* Released version 1.1.4.
2002-08-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_filter): Handle if user presses Cancel properly.
2002-07-30 Magnus Hjorth <magnus.hjorth@home.se>
* configure.in: Added --disable-gtk2 option.
2002-07-29 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c: GTK2
* src/float_box.c: GTK 2.
* src/mainwindow.c: GTK 2 compatible.
* src/effectdialog.c: GTK 2 compatible
* src/um.c: GTK 2 compatible.
* src/processdialog.c: GTK 2 compatible.
* src/chunkview.c: GTK2 compatible.
* src/sound-oss.c: GTK2 compatible.
* src/int_box.c: GTK2 compatible.
* src/chunk.c: Changed shutdown handler into destroy handler (for
GTK 2.0) and made chunk_destroy support multiple invocations
without crashing.
* src/chunk.h: Cleaned up and heavily documented.
2002-07-28 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.h: Added member samplebytes to Chunk struct.
2002-05-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.h: Made chunk_samples_to_bytes/chunk_bytes_to_samples into macros.
* src/chunk.c (chunk_sample_get_array): New function (speed improvement).
2002-04-14 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.1.3.
2002-04-10 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_toolbar): Added "Launch mixer" button.
* src/button_mixer.xpm: New file.
* src/recorddialog.c (record_dialog_init): Added "Launch Mixer" button.
* src/configdialog.c (config_dialog_init): Added "mixer utility" option.
* src/mainwindow.c (play_callback): To support non-threaded sound
drivers, output_play is called with a NULL pointer if all data has
been sent. (The drivers have been updated to support this).
* src/sound.c: Added OSS driver.
2002-04-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound-oss.c: New file.
2002-04-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/configdialog.c: Added button for sound driver preferences.
* src/sound.c: Add support for sound driver specific preferences
dialog.
2002-04-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.c: Added #include "main.h".
2002-04-02 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.1.2
* src/chunk.c (chunk_save_to_file): Ask for file type if it isn't
possible to tell by the extension.
* src/mainwindow.c (mainwindow_save): Don't update the file name
if saving failed.
* src/chunkview.c (chunk_view_set_chunk): Set the cursor to 0 when
setting the chunk to NULL.
2002-04-01 Magnus Hjorth <magnus.hjorth@home.se>
* src/um.c (user_message): Use gtk_label_set_line_wrap instead of
doing it ourselves.
2002-03-31 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c: libsndfile support finally in place!! Now supports
a lot of nice new file formats.
2002-03-14 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.h (chunk_new_from_file): New functions for loading files
(supports multiple formats and raw files).
* src/rawdialog.c: New file.
2002-02-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.h (CHUNK_SNDFILE): New chunk type.
* configure.in: Check for libsndfile library.
2002-02-22 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_filter): Reimplemented using
chunk_read_block/chunk_create_temp.
(chunk_parse): Reimplemented using chunk_read_block
(chunk_filter): Changed interface.
(chunk_convert_samplerate_proc): Fixed speed change when
converting multichannel chunks.
2002-02-20 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_read): Just use chunk_read_block instead of
doing everything ourselves.
(chunk_create_temp_*): Now has write-behind caching so it
buffers the data in memory and starts writing it to disk when the
amount of data exceeds MAX_REAL_SIZE.
(chunk_dump): Reimplemented using chunk_read_block
* src/configdialog.c: Placed the OK button to the left of the
Cancel button and left-adjusted the 'Outbut buffer size' label.
2002-02-20 Jens Askengren <jensus@linux.nu>
* src/configdialog.c: Added accelerator keys and placed the
buttons inside a GtkBBox.
2002-02-19 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.1.1
* configure.in: New option --without-check-casts.
* src/mainwindow.c (play_compensate_change): Position the cursor
properly.
* src/chunkview.c (chunk_view_update_image): The selection should
always be at least one pixel wide.
2002-02-18 Magnus Hjorth <magnus.hjorth@home.se>
* src/recorddialog.c: Save the selected format into the inifile
when ok is clicked, use that as default format next time.
2002-02-17 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): New menu item 'Edit/Insert silence'.
(create_menu): New menu item 'Edit/Clear undo buffer'.
(create_menu): New menu item 'Edit/Clear Clipboard'.
* src/chunk.c: New chunk type CHUNK_SILENCE.
2002-02-12 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (file_close): If File/Close is selected on the
last window, don't close it, just set the chunk to NULL.
* src/mainwindow.c (update_desc): Handle w->view->chunk==NULL.
(mainwindow_shutdown): Small memory leak fixed.
(file_close): File/Close does not always close the window now.
* src/chunkview.c (chunk_view_set_chunk): Segfault fixed when
changing the chunk back to NULL.
(chunk_view_set_selection): Handle cv->chunk==NULL properly.
* src/mainwindow.c (mainwindow_delete_event): Only stop playback
when it's the same window that is playing and that is closing.
2002-02-09 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_save_to_wav): Big-endian bugfix. (big-endian is
untested).
(chunk_save_to_wav): Now uses chunk_dump instead of chunk_parse (should
give a _big_ speedup).
2002-02-07 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.1
* src/chunkview.c (calc_x): Simple bug in if-statement that caused
the selection color to go to the right edge in small files.
(chunk_view_expose): Small cursor fix.
* src/mainwindow.c (play_callback): Repeat the output loop if we
reach play_end. This makes it possible to hear short looped sounds
(shorter than 100ms). Don't repeat more than 1000 times though...
* src/combinechannelsdialog.c: When the chunk changes, open a new
dialog and close the current if the number of channels have changed,
otherwise do nothing.
2002-02-06 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c (chunk_view_set_chunk): Make sure the cursor
position doesn't get out of range when changing to a smaller
chunk (caused segfault)..
(chunk_view_update_sample_cache): Don't read samples out of
range.
* src/mainwindow.c (view_zoomin,view_zoomout): Using chunk_view_zoom.
New menu item Edit/Mix paste!
* src/chunkview.c (chunk_view_zoom): New function with better zooming.
2002-02-05 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (help_about): Cosmetic changes to About dialog.
* src/configdialog.c (config_dialog_init): Added "use line mode by
default" and "line mode quality" settings.
* src/chunkview.c (chunk_view_update_image): Line mode improvements.
(chunk_view_update_sample_cache): Made line mode quality an inifile
entry.
2002-02-04 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunkview.c: Line mode implemented!
* src/mainwindow.c (create_menu): New menu item View/Line mode
* src/chunk.c: Created new type sample_t and using that for
reading/writing samples.
* configure.in: New option --with-double-samples.
2002-02-03 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c: Menu reorganisation.
* src/effectdialog.c (effect_dialog_set_mainwindow): Now using
gtk_signal_connect_object_while_alive instead of doing its own cleanup.
2002-02-02 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c: Clicking cancel during 'Mix channels...' caused
segfault. Fixed.
* src/float_box.c (floatbox_init): Small fix.
* src/mainwindow.c: New menu item Effects/Combine channels...
* src/effectdialog.c: New signal mainwindow_set
* src/combinechannelsdialog.c: New file.
* src/combinechannelsdialog.h: New file.
2002-02-01 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (create_menu): New menu item 'Edit/Preferences...'.
* src/configdialog.c: New file.
* src/configdialog.h: New file.
* src/chunk.c: Now uses configfile setting diskEditingThreshold
instead of compiled-in constant 512K.
* src/sound-sdl.c, src/sound_portaudio.c: Uses configfile setting
soundBufferSize for output buffer size instead of constant 64K.
2002-01-30 Magnus Hjorth <magnus.hjorth@home.se>
* src/sound.c: Supports startup-time (instead of compile-time)
selection of output driver now.
* src/chunkview.c (chunk_view_motion_notify): Stupid bug, clicking
in chunk view before loading anything into it caused crash.
* src/inifile.c: New file.
* src/inifile.h: New file.
* src/chunk.c (chunk_shutdown): Another zero-length/refcounting fix.
2002-01-27 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (do_play): Zero-length fix.
* src/recorddialog.c: Vu-meters working.
* src/ringbuf.c: Thread safe (hopefully) using mutexes.
2002-01-26 Magnus Hjorth <magnus.hjorth@home.se>
* src/chunk.c (chunk_sample_to_double): Changed type from float to double.
* Sound recording works now!!
* src/mainwindow.c (edit_cut): Fixed crash when cutting (or
deleting) the entire file.
* src/chunk.c (chunk_realize): Zero-length fix.
* src/chunkview.c (chunk_view_set_view): Zero-length chunks bug fix.
(calc_sample): Another zero-length fix.
2002-01-25 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (mainwindow_set_chunk): Set changed flag when
filename != NULL
* src/recorddialog.c: New file.
* src/vu_meter.c: New file.
* src/vu_meter.h: New file.
2002-01-24 Magnus Hjorth <magnus.hjorth@home.se>
* src/formatselector.c: New file.
* src/formatselector.h: New file.
* src/recorddialog.h: New file.
* src/mainwindow.c (create_toolbar): Added record button.
(create_menu): Added record menuitem.
* src/button_record.xpm: New file.
* sound-portaudio.c: New file (portaudio sound driver).
* Renamed output-* to sound-*
2002-01-23 Magnus Hjorth <magnus.hjorth@home.se>
* src/mainwindow.c (help_about): Show the name of the sound
driver.
* Autoconf/automake system (yes!). *.c and *.h moved to src
subdirectory.
* Reorganized sound module.
* mainwindow.c (mainwindow_realize): Use icon.xpm.
* icon.xpm: New file.
* main.h: New file.
2002-01-22 Magnus Hjorth <magnus.hjorth@home.se>
* chunk.c (chunk_save_to_wav): Realize the saved chunk if it's
small enough.
* chunkview.c (chunk_view_redraw_samples): Redraw bug fixed.
* mainwindow.c (create_toolbar): Two new toolbar buttons for
setting selection start/end at cursor position.
* button_cursorend.xpm: New file.
* button_cursorstart.xpm: New file.
* mainwindow.c (play_compensate_change): New internal
function. This fixes segfaults when file shrinks while playing.
(edit_paste): Call play_compensate_change.
(edit_cut): Call play_compensate_change.
(edit_pasteover): Call play_compensate_change.
(edit_delete): Call play_compensate_change.
(mainwindow_effect): Call do_stop or play_compensate_change.
(mainwindow_effect_manual): Call do_stop or play_compensate_change.
(edit_undo): Stop playing.
(create_menu): New menuitems: 'Edit/Selection start at cursor' and
'Edit/Selection end at cursor'.
* chunkview.c (do_chunk_view_set_cursor): Range-check the cursor argument.
2002-01-21 Magnus Hjorth <magnus.hjorth@home.se>
* mainwindow.c (mainwindow_chunk_change): If the format is being
changed on the currently playing file, playback must stop.
* chunk.c (chunk_create_multichunk): Refcounting bug fixed.
(chunk_create_multichunk): Forgot g_list_free(chunks);.
* output-sdl.c (output_supports_format): More than two channels
not supported.
* README: New file.
* chunk.c (chunk_new_from_wav): Better wav file format detection
2002-01-20 Magnus Hjorth <magnus.hjorth@home.se>
* chunkview.c (chunk_view_update_image): changed selection color
(calc_x): over/underflow causing selection to sometimes not draw
correctly.
(do_chunk_view_set_cursor): code cleanup
* mainwindow.c (mainwindow_save): windows with changed==FALSE and
filename==NULL have not been saved, so don't display the "are you
sure?" dialog.
2002-01-19 Magnus Hjorth <magnus.hjorth@home.se>
* Released version 1.0