diff -urN soundtracker-0.5.7/AUTHORS soundtracker-0.5.8/AUTHORS
--- soundtracker-0.5.7/AUTHORS Tue Aug 15 18:34:40 2000
+++ soundtracker-0.5.8/AUTHORS Tue Sep 19 17:36:18 2000
@@ -51,7 +51,7 @@
(the SoundTracker logo)
Conrad Parker
("Reverse" function in sample editor; bug fixes)
-Tomasz Maka
+Tomasz Maka
("Save region" function, insert / delete row stuff,
status bar, timer)
Nicolas Leveille
@@ -66,6 +66,8 @@
(Block mode selection with mouse support)
Rikard Bosnjakovic
(pointed out some stupid leaks)
+Fabian Giesen
+ (Win32 port)
Translations
diff -urN soundtracker-0.5.7/ChangeLog soundtracker-0.5.8/ChangeLog
--- soundtracker-0.5.7/ChangeLog Tue Aug 15 18:34:12 2000
+++ soundtracker-0.5.8/ChangeLog Tue Sep 19 18:19:09 2000
@@ -1,3 +1,117 @@
+2000-09-19 Michael Krause
+
+ * Released v0.5.8
+
+ * Preliminary Win32 port by Fabian Giesen. Does not compile
+ out-of-the-box, since I integrated his 0.5.4 work into 0.5.7
+ without being able to test anything. In particular, Makefiles are
+ missing. The easiest way should be to build it with Cygwin. Some
+ notes for the brave:
+
+ - app/drivers/dsound-output.c (working as is)
+
+ - app/preferences.c (needs some work done, see comments)
+
+ - app/poll.c: added Win32 pipe emulation code. Need to replace
+ all pipe write's and read's in the main program with calls
+ to these functions.
+
+ - app/keys.c: This is the only part that actually requires
+ hard work for a fully functional Tracker. The current
+ version does not permit pattern editing ;-(
+
+ - The kb-x86 mixer requires some work if you want to use
+ an assembler other than gas. A manually translated version
+ of the assembler source comes with this archive, though
+ (kb-x86-asmIntel.a).
+
+ - Non-gcc compilers probably require that some gcc'isms be
+ removed, such as void* arithmetic and interval case statements.
+
+ - Look at how the GIMP Win32 port is built up; since GIMP also
+ uses the gtk+ toolkit, the building process will be similar.
+
+ * app/preferences.h: Directory structure is now hidden from the
+ caller; access through opaque prefs_node* handle.
+
+ * app/module-info.c: Update XM's 'modified' flag after various
+ operations.
+
+ * app/midi-settings.c: Disable if GNOME is not installed.
+
+ * app/envelope-box.c (envelope_box_canvas_event): Stop point
+ dragging when we receive a button release event on the canvas
+ (sometimes the appropriate event for the respective point does not
+ come - bug in canvas?).
+
+2000-09-18 Michael Krause
+
+ * app/track-editor.c (track_editor_handle_column_input):
+ Instrument column uses decimal values always.
+
+ * app/gui.c: Get rid of 'songpos' variable; use
+ playlist_get_position() instead.
+ (gui_update_player_pos): Some slight reorganization here.
+
+ * app/gui-subs.c (statusbar_update): Run messages through
+ gettext().
+
+ * app/gui.c (playlist_position_changed): Don't update current
+ pattern if we're in playing mode (that will be done at proper time
+ in gui_update_player_pos()).
+ (gui_update_player_pos): Freeze playlist signals while updating
+ song position.
+
+2000-09-17 Michael Krause
+
+ * app/tracker.c (note2string): Always use decimal numbers for
+ instrument numbers.
+
+ * app/gui-settings.c: Automatical Tempo / BPM button update when
+ running through Fxx effect is default now.
+
+ * app/event-waiter.[ch]: New more abstract interface for dealing
+ with the GUI / audio event syncing issue (this is different from
+ time-buffer!). songpos, tempo and bpm updates are handled through
+ this interface now. Code is a lot cleaner now.
+
+ * app/gui.c, app/audio.c: In "tempo / bpm update" mode: If the
+ user changes tempo / bpm using the interface during playing, we
+ use a protective mechanism similar to that used by the "song
+ position changed" function.
+
+ * po: Updated it.po
+
+2000-08-25 Michael Krause
+
+ * app/envelope-box.c (envelope_box_canvas_event): Insert new point
+ only if insert_after != -1 and y in range.
+
+ * app/tracker.c (print_notes_line): Corrected bounds check.
+
+ * app/sample-editor.c (sample_editor_paste_clicked): Only convert
+ source data to 8bits if destination sample is in treat_as_8bit
+ mode.
+ (sample_editor_perform_ramp): If we are in 8bit mode, call cutoff
+ function after performing the ramp.
+
+2000-08-17 Tomasz Maka
+
+ * app/track-editor.[ch]: command and volume parameter generator
+ (inc/dec) added.
+
+ * app/track-editor.c: delete key behaviours like FT2 now.
+
+ * app/track-editor.c: set cursor row-step to
+ gui_get_current_jump_value() in command and volume column.
+
+ * app/gui.c: spin_jump max value changed to 16.
+
+2000-08-16 Michael Krause
+
+ * app/xm-player.c (xmpPlayTick, xmpCmdEnvPos): Check if ch->curins
+ is initialized before accessing it. Fixes another player crash.
+
2000-08-15 Michael Krause
* Released v0.5.7
diff -urN soundtracker-0.5.7/INSTALL soundtracker-0.5.8/INSTALL
--- soundtracker-0.5.7/INSTALL Tue Aug 15 10:45:18 2000
+++ soundtracker-0.5.8/INSTALL Tue Sep 19 17:41:47 2000
@@ -92,6 +92,12 @@
Ah, oh. You already have everything in place, or you wouldn't be able
to read this :-)
+WIN32 PORT:
+------------
+
+Not working at the moment, but code is there. If you want to hack on
+this, see the ChangeLog (2000-09-19).
+
SUID ROOT INSTALLATION
=======================
diff -urN soundtracker-0.5.7/NEWS soundtracker-0.5.8/NEWS
--- soundtracker-0.5.7/NEWS Tue Aug 15 18:07:42 2000
+++ soundtracker-0.5.8/NEWS Tue Sep 19 18:06:12 2000
@@ -4,6 +4,16 @@
responsible for having coded a particular feature (full names in
AUTHORS file).
+What is new in soundtracker-0.5.8 (19-Sep-2000):
+
+* Inc/Dec command value function (tmaka)
+* Delete key modifiers (tmaka)
+* Pasting leaves 16bit samples intact
+* Tempo/BPM update works correctly now
+* Show instrument numbers in tracker always in decimal
+* Several other bug fixes
+* Nearly-finished Win32 port
+
What is new in soundtracker-0.5.7 (15-Aug-2000):
* Effect interpolation (see README file)
diff -urN soundtracker-0.5.7/README soundtracker-0.5.8/README
--- soundtracker-0.5.7/README Tue Aug 15 18:08:54 2000
+++ soundtracker-0.5.8/README Tue Sep 19 18:06:14 2000
@@ -4,7 +4,7 @@
http://www.soundtracker.org/
--------------------------------------------------------------
- v0.5.7 --- THIS IS A DEVELOPMENT VERSION!
+ v0.5.8 --- THIS IS A DEVELOPMENT VERSION!
Written and (C) 1998-2000
by Michael Krause [ raw style / lego ]
@@ -139,6 +139,11 @@
supported effect between block start and block end. Supported at the
moment are volume column and effect column volume slides, and volume
column panning slides.
+
+A similar job is done by the "increment / decrement cmd value"
+functions found in the Edit / Track menu. Enter C40, go one row down
+(stay in the effects column) and hit Ctrl-minus ("decrement cmd
+value") to automatically insert a 3f there.
INSTRUMENT EDITOR
diff -urN soundtracker-0.5.7/TODO soundtracker-0.5.8/TODO
--- soundtracker-0.5.7/TODO Tue Aug 15 18:03:15 2000
+++ soundtracker-0.5.8/TODO Tue Sep 19 18:00:52 2000
@@ -1,7 +1,12 @@
things to do and known bugs (in no particular order)
-------------------------------------------------------
-endianness conversion is probably screwed up everywhere.
+SAMPLE EDITOR: "play selection" button. (don't loop the sample then)
+
+sample display: exposing doesn't work when switching from one
+workspace back to the soundtracker workspace and a sample is playing
+(mixerpos is being moved). need to rethink all this
+gtk_widget_queue_redraw() stuff.
tracker: some fonts (for example lucida console 80) report strange
font heights so that the tracker's rows overlap sometimes. or am i
@@ -10,18 +15,6 @@
nach dem samplen finetune+relnote so initen, daъ das sample auf c-4
original abgespielt wird.
-> press CAPSLOCK or something, to enter "hex chooser mode"
-> type A3 or B0 or 45 or whatever the 2-digit hex code is for your sample
-> program automatically leaves hexmode and functions return to normal.
-> It's more keystrokes but less flipping through groups of samples.
-
-> you could add a bass drum to "7", snare to "8", closed hat to "9", ride to
-> "4", timpany G to "5", etc.. all at the correct note for that sample.
-> Then you just switch to edit mode and knock out a drum beat with single
-> keypresses!
-
-load 15 sample mods
-
=== GTK+ / GNOME bugs =====
@@ -35,21 +28,33 @@
without problems.
+
====== GUI =========
+What about a "Name Pattern" feature which allows you to attach names to any pattern you like, so
+that they can be more easily recognised? I`m sure that this info could cimply be appended to any
+.xm file therefore not making it unreadable by other trackers. You see, i`m making a mod at the
+moment which is kind of a mess, and i`m constantly getting lost... ;)
+The right place for the widget for this would be in the Tracker page
+of the main window. Also, the pattern length widget should be there
+rather than in the upper part of the main window. We could also have
+the "number of channels" spin down there and make it a per-pattern
+property.
+
+> press CAPSLOCK or something, to enter "hex chooser mode"
+> type A3 or B0 or 45 or whatever the 2-digit hex code is for your sample
+> program automatically leaves hexmode and functions return to normal.
+> It's more keystrokes but less flipping through groups of samples.
+
filereq: show only *.xm, *.zip etc.
right-shift: start playing and editing, with scrolling
enabled. optional quantization.
-sample display: exposing doesn't work when switching from one
-workspace back to the soundtracker workspace and a sample is playing
-(mixerpos is being moved). need to rethink all this
-gtk_widget_queue_redraw() stuff.
-
statusbar: gtk_widget_usize() on gtk_clock is ugly...
> * 'Delete' and 'Rename' functions in File page.
+
> * Settings dialog for 'Render WAV' (begin postion, end position,
> amplification, WAV frequency, etc.)
@@ -60,9 +65,6 @@
> I think it would be nice, if you had an option to load only the samples
> from a module, not the whole module, just like in my old OctaMed.
-bug: wenn man vorspult, werden die patterns im tracker schon geДndert,
-bevor der song sich Дndert.
-
space-bar -> keyboard configuration
delink / link tab!!!
@@ -80,12 +82,6 @@
CLAVIER: highlight currently played notes!
-SPINBUTTON: add a hexadecimal mode, so that tracker widget / gui use
-is consistent (this is not easy, will have to copy gtkspinbutton.c and
-change that).
-
-SAMPLE EDITOR: "play selection" button. (don't loop the sample then)
-
GUI: alternative scope (rgb box or something)
GUI-SETTINGS / TRACKER: h <-> b
@@ -99,9 +95,6 @@
SAMPLE EDITOR: needs some serious re-design (i mean the gui).
-SPIN BUTTONS: make key-editable just like the instrument name widget,
-for example...
-
SCOPE GROUP: toggle display of channel numbers.
PLAYLIST WIDGET: write a playlist widget which always displays the
@@ -112,6 +105,10 @@
GUI: assign samples to numberpad. Then numberpad could act as a
drumpad (one key plays given sample at given frequency).
+> you could add a bass drum to "7", snare to "8", closed hat to "9", ride to
+> "4", timpany G to "5", etc.. all at the correct note for that sample.
+> Then you just switch to edit mode and knock out a drum beat with single
+> keypresses!
LOGO: add it somewhere
@@ -152,14 +149,23 @@
> comfortable to use Scream Tracker approach to keyboard :)
> Wasting all F-keys for octaves is not The Good Thing.
+> (4) there are several people in the todo list that are asking "why don't you
+> make the keys more like scream tracker?" or "why don't you make the keys more
+> like impulse tracker?" I know you are trying to emulate the fasttracker 2
+> setup (at least to a degree) and I like the ft2 key layout the best, but
+> maybe a way to make everyone happy would be to make something in the layout
+> settings that says "make key layouts resemble:" and pulldown menu or
+> selection menu for ft2, st3, it, pt, etc..?
+>-----> need to put ALL the keys handling to keys.c (no more GDK_* cases in
+>track-editor.c, for example)
====== PLAYER / LOADER ========
-support old 15 sample modules
+endianness conversion is probably screwed up everywhere.
-LOADER: support loading from archives (gnome-libs-2 VFS in the future?)
+load 15 sample mods
-SAMPLE IMPORT/EXPORT: IFF and RAW formats.
+iff loading
XM.C / MOD LOADER: mod.Anette has strange loop points
@@ -167,14 +173,13 @@
mod.savage, spotlight madmix, alice d., abyss-tr -- fix note
retriggering when only instrument column is set.
-XM-PLAYER: find the bug which causes ch->chFinalPitch to become zero
-in tru_funk.mod.
-
PLAYER / MIXER: what happens if you use 9xx to jump behind the loop
end?
mod saver
+.pat loading
+
====== MIXER ======
@@ -202,6 +207,11 @@
drivers/file-output.c::file_open(): check if the user is allowed to
create the file first!
+file output: some users report that the generated WAV has a lower
+quality than direct output?!?
+
+esd output: --espeaker command line option doesn't work (but is
+displayed in --help output).
====== MISC ======
@@ -223,6 +233,7 @@
> do it from the (Unix) command line? Something like
> `soundtracker --render song.xm song.wav' ?
+extend tips dialog
====== FUTURE =======
diff -urN soundtracker-0.5.7/app/Makefile.am soundtracker-0.5.8/app/Makefile.am
--- soundtracker-0.5.7/app/Makefile.am Tue Aug 15 16:55:19 2000
+++ soundtracker-0.5.8/app/Makefile.am Sun Sep 17 17:33:48 2000
@@ -11,6 +11,7 @@
endian-conv.h \
envelope-box.c envelope-box.h \
errors.c errors.h \
+ event-waiter.c event-waiter.h \
extspinbutton.c extspinbutton.h \
file-operations.c file-operations.h \
gui-settings.c gui-settings.h \
diff -urN soundtracker-0.5.7/app/Makefile.in soundtracker-0.5.8/app/Makefile.in
--- soundtracker-0.5.7/app/Makefile.in Tue Aug 15 18:36:20 2000
+++ soundtracker-0.5.8/app/Makefile.in Tue Sep 19 18:20:31 2000
@@ -99,7 +99,7 @@
bin_PROGRAMS = soundtracker
-soundtracker_SOURCES = audio.c audio.h audioconfig.c audioconfig.h cheat-sheet.c cheat-sheet.h clavier.c clavier.h driver.h driver-in.h driver-out.h endian-conv.h envelope-box.c envelope-box.h errors.c errors.h extspinbutton.c extspinbutton.h file-operations.c file-operations.h gui-settings.c gui-settings.h gui-subs.c gui-subs.h gui.c gui.h i18n.h instrument-editor.c instrument-editor.h keys.c keys.h main.c main.h menubar.c menubar.h midi.c midi.h midi-settings.c midi-settings.h midi-utils.c midi-utils.h mixer.h module-info.c module-info.h playlist.c playlist.h poll.c poll.h preferences.c preferences.h recode.c recode.h sample-display.c sample-display.h sample-editor.c sample-editor.h scope-group.c scope-group.h st-subs.c st-subs.h time-buffer.c time-buffer.h tips-dialog.c tips-dialog.h track-editor.c track-editor.h tracker.c tracker.h tracker-settings.c tracker-settings.h transposition.c transposition.h xm.c xm.h xm-player.c xm-player.h
+soundtracker_SOURCES = audio.c audio.h audioconfig.c audioconfig.h cheat-sheet.c cheat-sheet.h clavier.c clavier.h driver.h driver-in.h driver-out.h endian-conv.h envelope-box.c envelope-box.h errors.c errors.h event-waiter.c event-waiter.h extspinbutton.c extspinbutton.h file-operations.c file-operations.h gui-settings.c gui-settings.h gui-subs.c gui-subs.h gui.c gui.h i18n.h instrument-editor.c instrument-editor.h keys.c keys.h main.c main.h menubar.c menubar.h midi.c midi.h midi-settings.c midi-settings.h midi-utils.c midi-utils.h mixer.h module-info.c module-info.h playlist.c playlist.h poll.c poll.h preferences.c preferences.h recode.c recode.h sample-display.c sample-display.h sample-editor.c sample-editor.h scope-group.c scope-group.h st-subs.c st-subs.h time-buffer.c time-buffer.h tips-dialog.c tips-dialog.h track-editor.c track-editor.h tracker.c tracker.h tracker-settings.c tracker-settings.h transposition.c transposition.h xm.c xm.h xm-player.c xm-player.h
soundtracker_LDADD = drivers/libdrivers.a mixers/libmixers.a
@@ -120,12 +120,13 @@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
soundtracker_OBJECTS = audio.o audioconfig.o cheat-sheet.o clavier.o \
-envelope-box.o errors.o extspinbutton.o file-operations.o \
-gui-settings.o gui-subs.o gui.o instrument-editor.o keys.o main.o \
-menubar.o midi.o midi-settings.o midi-utils.o module-info.o playlist.o \
-poll.o preferences.o recode.o sample-display.o sample-editor.o \
-scope-group.o st-subs.o time-buffer.o tips-dialog.o track-editor.o \
-tracker.o tracker-settings.o transposition.o xm.o xm-player.o
+envelope-box.o errors.o event-waiter.o extspinbutton.o \
+file-operations.o gui-settings.o gui-subs.o gui.o instrument-editor.o \
+keys.o main.o menubar.o midi.o midi-settings.o midi-utils.o \
+module-info.o playlist.o poll.o preferences.o recode.o sample-display.o \
+sample-editor.o scope-group.o st-subs.o time-buffer.o tips-dialog.o \
+track-editor.o tracker.o tracker-settings.o transposition.o xm.o \
+xm-player.o
soundtracker_DEPENDENCIES = drivers/libdrivers.a mixers/libmixers.a
soundtracker_LDFLAGS =
CFLAGS = @CFLAGS@
@@ -316,40 +317,46 @@
fi; \
done
audio.o: audio.c ../config.h poll.h i18n.h audio.h mixer.h driver-out.h \
- driver.h time-buffer.h main.h xm.h xm-player.h endian-conv.h \
- scope-group.h sample-display.h errors.h gui-settings.h
+ driver.h preferences.h time-buffer.h event-waiter.h main.h xm.h \
+ xm-player.h endian-conv.h scope-group.h sample-display.h \
+ errors.h gui-settings.h
audioconfig.o: audioconfig.c ../config.h i18n.h audioconfig.h gui-subs.h \
- audio.h mixer.h driver-out.h driver.h time-buffer.h \
- sample-editor.h xm.h driver-in.h preferences.h gui.h
+ audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h sample-editor.h xm.h driver-in.h \
+ gui.h
cheat-sheet.o: cheat-sheet.c ../config.h i18n.h
clavier.o: clavier.c clavier.h
envelope-box.o: envelope-box.c ../config.h i18n.h gui-subs.h \
envelope-box.h xm.h mixer.h gui-settings.h
-errors.o: errors.c audio.h mixer.h driver-out.h driver.h time-buffer.h
+errors.o: errors.c audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h
+event-waiter.o: event-waiter.c event-waiter.h
extspinbutton.o: extspinbutton.c extspinbutton.h
file-operations.o: file-operations.c ../config.h i18n.h \
file-operations.h keys.h track-editor.h tracker.h xm.h mixer.h \
tracker-settings.h gui-subs.h gui.h audio.h driver-out.h \
- driver.h time-buffer.h errors.h
+ driver.h preferences.h time-buffer.h event-waiter.h errors.h
gui-settings.o: gui-settings.c ../config.h i18n.h gui.h gui-subs.h \
- audio.h mixer.h driver-out.h driver.h time-buffer.h \
- gui-settings.h preferences.h scope-group.h sample-display.h \
- track-editor.h tracker.h xm.h tracker-settings.h \
- extspinbutton.h
+ audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h gui-settings.h scope-group.h \
+ sample-display.h track-editor.h tracker.h xm.h \
+ tracker-settings.h extspinbutton.h
gui-subs.o: gui-subs.c ../config.h i18n.h gui.h gui-subs.h audio.h \
- mixer.h driver-out.h driver.h time-buffer.h extspinbutton.h
+ mixer.h driver-out.h driver.h preferences.h time-buffer.h \
+ event-waiter.h extspinbutton.h
gui.o: gui.c ../config.h poll.h i18n.h gui.h gui-subs.h audio.h mixer.h \
- driver-out.h driver.h time-buffer.h xm.h st-subs.h xm-player.h \
- tracker.h main.h keys.h instrument-editor.h sample-editor.h \
- driver-in.h track-editor.h tracker-settings.h scope-group.h \
- sample-display.h module-info.h preferences.h menubar.h \
- tips-dialog.h gui-settings.h file-operations.h playlist.h
+ driver-out.h driver.h preferences.h time-buffer.h \
+ event-waiter.h xm.h st-subs.h xm-player.h tracker.h main.h \
+ keys.h instrument-editor.h sample-editor.h driver-in.h \
+ track-editor.h tracker-settings.h scope-group.h \
+ sample-display.h module-info.h menubar.h tips-dialog.h \
+ gui-settings.h file-operations.h playlist.h
instrument-editor.o: instrument-editor.c i18n.h ../config.h \
instrument-editor.h xm.h mixer.h envelope-box.h st-subs.h gui.h \
- gui-subs.h audio.h driver-out.h driver.h time-buffer.h keys.h \
- track-editor.h tracker.h tracker-settings.h clavier.h errors.h \
- sample-editor.h driver-in.h gui-settings.h module-info.h \
- file-operations.h
+ gui-subs.h audio.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h keys.h track-editor.h tracker.h \
+ tracker-settings.h clavier.h errors.h sample-editor.h \
+ driver-in.h gui-settings.h module-info.h file-operations.h
interpolate-fx.o: interpolate-fx.c ../config.h i18n.h gui.h gui-subs.h \
audio.h mixer.h driver-out.h driver.h time-buffer.h \
interpolate-fx.h track-editor.h tracker.h xm.h \
@@ -359,64 +366,68 @@
interpolation.h track-editor.h tracker.h xm.h \
tracker-settings.h
keys.o: keys.c ../config.h i18n.h keys.h gui-subs.h gui.h audio.h \
- mixer.h driver-out.h driver.h time-buffer.h menubar.h \
- preferences.h
+ mixer.h driver-out.h driver.h preferences.h time-buffer.h \
+ event-waiter.h menubar.h
main.o: main.c ../config.h i18n.h gui.h gui-subs.h audio.h mixer.h \
- driver-out.h driver.h time-buffer.h xm.h keys.h gui-settings.h \
- audioconfig.h tips-dialog.h menubar.h track-editor.h tracker.h \
+ driver-out.h driver.h preferences.h time-buffer.h \
+ event-waiter.h xm.h keys.h gui-settings.h audioconfig.h \
+ tips-dialog.h menubar.h track-editor.h tracker.h \
tracker-settings.h midi.h midi-settings.h
menubar.o: menubar.c ../config.h i18n.h menubar.h gui.h gui-subs.h \
- audio.h mixer.h driver-out.h driver.h time-buffer.h main.h xm.h \
- st-subs.h keys.h module-info.h preferences.h scope-group.h \
- sample-display.h track-editor.h tracker.h tracker-settings.h \
- audioconfig.h gui-settings.h tips-dialog.h transposition.h \
- cheat-sheet.h file-operations.h instrument-editor.h \
- midi-settings.h
+ audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h main.h xm.h st-subs.h keys.h \
+ module-info.h scope-group.h sample-display.h track-editor.h \
+ tracker.h tracker-settings.h audioconfig.h gui-settings.h \
+ tips-dialog.h transposition.h cheat-sheet.h file-operations.h \
+ instrument-editor.h midi-settings.h
midi-settings.o: midi-settings.c ../config.h
midi-utils.o: midi-utils.c ../config.h
midi.o: midi.c ../config.h
module-info.o: module-info.c i18n.h ../config.h module-info.h gui.h \
- gui-subs.h audio.h mixer.h driver-out.h driver.h time-buffer.h \
- xm.h st-subs.h main.h sample-editor.h driver-in.h \
- instrument-editor.h keys.h track-editor.h tracker.h \
- tracker-settings.h
+ gui-subs.h audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h xm.h st-subs.h main.h \
+ sample-editor.h driver-in.h instrument-editor.h keys.h \
+ track-editor.h tracker.h tracker-settings.h
playlist.o: playlist.c ../config.h i18n.h playlist.h gui-subs.h gui.h \
- audio.h mixer.h driver-out.h driver.h time-buffer.h
+ audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h
poll.o: poll.c ../config.h
-preferences.o: preferences.c i18n.h ../config.h gui-subs.h preferences.h \
+preferences.o: preferences.c ../config.h i18n.h gui-subs.h preferences.h \
menubar.h scope-group.h sample-display.h track-editor.h \
tracker.h xm.h mixer.h tracker-settings.h errors.h
recode.o: recode.c recode.h
sample-display.o: sample-display.c sample-display.h
sample-editor.o: sample-editor.c ../config.h i18n.h sample-editor.h xm.h \
- mixer.h driver-in.h driver.h st-subs.h gui.h gui-subs.h audio.h \
- driver-out.h time-buffer.h instrument-editor.h sample-display.h \
- endian-conv.h keys.h track-editor.h tracker.h \
- tracker-settings.h errors.h module-info.h file-operations.h \
- gui-settings.h
+ mixer.h driver-in.h driver.h preferences.h st-subs.h gui.h \
+ gui-subs.h audio.h driver-out.h time-buffer.h event-waiter.h \
+ instrument-editor.h sample-display.h endian-conv.h keys.h \
+ track-editor.h tracker.h tracker-settings.h errors.h \
+ module-info.h file-operations.h gui-settings.h
scope-group.o: scope-group.c ../config.h scope-group.h sample-display.h \
- audio.h mixer.h driver-out.h driver.h time-buffer.h gui-subs.h \
- gui-settings.h
+ audio.h mixer.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h gui-subs.h gui-settings.h
st-subs.o: st-subs.c st-subs.h xm.h mixer.h gui-settings.h
time-buffer.o: time-buffer.c time-buffer.h
tips-dialog.o: tips-dialog.c ../config.h i18n.h tips-dialog.h \
preferences.h
track-editor.o: track-editor.c i18n.h ../config.h track-editor.h \
tracker.h xm.h mixer.h tracker-settings.h gui.h gui-subs.h \
- audio.h driver-out.h driver.h time-buffer.h st-subs.h keys.h \
- xm-player.h main.h gui-settings.h preferences.h menubar.h
+ audio.h driver-out.h driver.h preferences.h time-buffer.h \
+ event-waiter.h st-subs.h keys.h xm-player.h main.h \
+ gui-settings.h menubar.h
tracker-settings.o: tracker-settings.c ../config.h tracker-settings.h \
tracker.h xm.h mixer.h i18n.h gui-subs.h preferences.h
tracker.o: tracker.c tracker.h xm.h mixer.h main.h gui-settings.h
transposition.o: transposition.c i18n.h ../config.h transposition.h \
main.h xm.h mixer.h gui-subs.h gui.h audio.h driver-out.h \
- driver.h time-buffer.h st-subs.h track-editor.h tracker.h \
- tracker-settings.h
+ driver.h preferences.h time-buffer.h event-waiter.h st-subs.h \
+ track-editor.h tracker.h tracker-settings.h
xm-player.o: xm-player.c ../config.h i18n.h xm-player.h xm.h mixer.h \
- main.h audio.h driver-out.h driver.h time-buffer.h
+ main.h audio.h driver-out.h driver.h preferences.h \
+ time-buffer.h event-waiter.h
xm.o: xm.c i18n.h ../config.h gui-settings.h xm.h mixer.h xm-player.h \
endian-conv.h st-subs.h recode.h errors.h audio.h driver-out.h \
- driver.h time-buffer.h
+ driver.h preferences.h time-buffer.h event-waiter.h
info-am:
info: info-recursive
diff -urN soundtracker-0.5.7/app/audio.c soundtracker-0.5.8/app/audio.c
--- soundtracker-0.5.7/app/audio.c Tue Aug 15 12:09:48 2000
+++ soundtracker-0.5.8/app/audio.c Sun Sep 17 18:36:44 2000
@@ -48,6 +48,7 @@
#include "scope-group.h"
#include "errors.h"
#include "time-buffer.h"
+#include "event-waiter.h"
#include "gui-settings.h"
st_mixer *mixer = NULL;
@@ -75,6 +76,15 @@
static const guint audio_visual_feedback_updates_per_second = 50;
static const guint audio_visual_feedback_smear_clipping = 3; // keep clipflag on for how long
+/* Event waiters */
+
+event_waiter *audio_songpos_ew;
+event_waiter *audio_tempo_ew;
+event_waiter *audio_bpm_ew;
+
+static int set_songpos_wait_for = -1;
+static int confirm_tempo = 0, confirm_bpm = 0;
+
/* Internal variables */
static int nice_value = 0;
@@ -95,8 +105,6 @@
static double audio_next_tick_time_unbent, audio_next_tick_time_bent, audio_current_playback_time_bent;
static double audio_mixer_current_time;
-static int set_songpos_wait_for = -1;
-
#define MIXFMT_16 1
#define MIXFMT_STEREO 2
@@ -344,15 +352,34 @@
xmplayer_set_songpos(songpos);
if(set_songpos_wait_for != -1) {
/* confirm previous request */
- audio_backpipe_id a = AUDIO_BACKPIPE_SONGPOS_CONFIRM;
- double dummy;
- write(backpipe, &a, sizeof(a));
- write(backpipe, &dummy, sizeof(dummy));
+ event_waiter_confirm(audio_songpos_ew, 0.0);
}
set_songpos_wait_for = songpos;
}
static void
+audio_ctlpipe_set_tempo (int tempo)
+{
+ xmplayer_set_tempo(tempo);
+ if(confirm_tempo != 0) {
+ /* confirm previous request */
+ event_waiter_confirm(audio_tempo_ew, 0.0);
+ }
+ confirm_tempo = 1;
+}
+
+static void
+audio_ctlpipe_set_bpm (int bpm)
+{
+ xmplayer_set_bpm(bpm);
+ if(confirm_bpm != 0) {
+ /* confirm previous request */
+ event_waiter_confirm(audio_bpm_ew, 0.0);
+ }
+ confirm_bpm = 1;
+}
+
+static void
audio_ctlpipe_set_pattern (int pattern)
{
g_assert(playing);
@@ -500,6 +527,14 @@
}
mixer->setampfactor(audio_ampfactor);
break;
+ case AUDIO_CTLPIPE_SET_TEMPO:
+ readpipe(ctlpipe, a, 1 * sizeof(a[0]));
+ audio_ctlpipe_set_tempo(a[0]);
+ break;
+ case AUDIO_CTLPIPE_SET_BPM:
+ readpipe(ctlpipe, a, 1 * sizeof(a[0]));
+ audio_ctlpipe_set_bpm(a[0]);
+ break;
default:
fprintf(stderr, "\n\n*** audio_thread: unknown ctlpipe id %d\n\n\n", c);
pthread_exit(NULL);
@@ -554,6 +589,12 @@
return FALSE;
if(!(audio_mixer_position_tb = time_buffer_new(10.0)))
return FALSE;
+ if(!(audio_songpos_ew = event_waiter_new()))
+ return FALSE;
+ if(!(audio_tempo_ew = event_waiter_new()))
+ return FALSE;
+ if(!(audio_bpm_ew = event_waiter_new()))
+ return FALSE;
if(0 == pthread_create(&threadid, NULL, (void*(*)(void*))audio_thread, NULL))
return TRUE;
@@ -667,6 +708,10 @@
audio_visual_feedback_counter = audio_visual_feedback_update_interval;
audio_visual_feedback_clipping = 0;
+ event_waiter_reset(audio_songpos_ew);
+ event_waiter_reset(audio_tempo_ew);
+ event_waiter_reset(audio_bpm_ew);
+
scopebuf_start.offset = 0;
scopebuf_start.time = 0.0;
scopebuf_end.offset = 0;
@@ -1027,18 +1072,18 @@
time_buffer_add(audio_playerpos_tb, p, audio_current_playback_time_bent);
}
- /* When the user changes the song position while playing,
- and the mixing buffer is long enough, it can happen
- that the GUI will reset the song position to the
- previous value, because it still finds it in the player
- position time buffer. So the GUI stops updating the
- song position for as long as we haven't replied to the
- position change request. We do this here. */
+ // Confirm pending event requests
if(set_songpos_wait_for != -1 && player_songpos == set_songpos_wait_for) {
- audio_backpipe_id a = AUDIO_BACKPIPE_SONGPOS_CONFIRM;
+ event_waiter_confirm(audio_songpos_ew, audio_current_playback_time_bent);
set_songpos_wait_for = -1;
- write(backpipe, &a, sizeof(a));
- write(backpipe, &audio_current_playback_time_bent, sizeof(audio_current_playback_time_bent));
+ }
+ if(confirm_tempo) {
+ event_waiter_confirm(audio_tempo_ew, audio_current_playback_time_bent);
+ confirm_tempo = 0;
+ }
+ if(confirm_bpm) {
+ event_waiter_confirm(audio_bpm_ew, audio_current_playback_time_bent);
+ confirm_bpm = 0;
}
}
}
diff -urN soundtracker-0.5.7/app/audio.h soundtracker-0.5.8/app/audio.h
--- soundtracker-0.5.7/app/audio.h Wed May 10 16:14:31 2000
+++ soundtracker-0.5.8/app/audio.h Sun Sep 17 17:46:41 2000
@@ -30,6 +30,7 @@
#include "mixer.h"
#include "driver-out.h"
#include "time-buffer.h"
+#include "event-waiter.h"
/* === Thread communication stuff */
@@ -47,6 +48,8 @@
AUDIO_CTLPIPE_SET_AMPLIFICATION, /* float */
AUDIO_CTLPIPE_SET_PITCHBEND, /* float */
AUDIO_CTLPIPE_SET_MIXER, /* st_mixer* */
+ AUDIO_CTLPIPE_SET_TEMPO, /* int */
+ AUDIO_CTLPIPE_SET_BPM, /* int */
} audio_ctlpipe_id;
typedef enum audio_backpipe_id {
@@ -55,9 +58,8 @@
AUDIO_BACKPIPE_PLAYING_PATTERN_STARTED,
AUDIO_BACKPIPE_PLAYING_NOTE_STARTED,
AUDIO_BACKPIPE_PLAYING_STOPPED,
- AUDIO_BACKPIPE_SONGPOS_CONFIRM, /* double time */
AUDIO_BACKPIPE_ERROR_MESSAGE, /* int len, string (len+1 bytes) */
- AUDIO_BACKPIPE_WARNING_MESSAGE, /* int len, string (len+1 bytes) */
+ AUDIO_BACKPIPE_WARNING_MESSAGE, /* int len, string (len+1 bytes) */
} audio_backpipe_id;
extern int audio_ctlpipe, audio_backpipe;
@@ -120,6 +122,11 @@
extern void *playback_driver_object, *editing_driver_object, *current_driver_object;
extern gint8 player_mute_channels[32];
+
+extern event_waiter *audio_songpos_ew;
+extern event_waiter *audio_tempo_ew;
+extern event_waiter *audio_bpm_ew;
+
gboolean audio_init (int ctlpipe, int backpipe);
diff -urN soundtracker-0.5.7/app/audioconfig.c soundtracker-0.5.8/app/audioconfig.c
--- soundtracker-0.5.7/app/audioconfig.c Wed May 10 16:14:31 2000
+++ soundtracker-0.5.8/app/audioconfig.c Tue Sep 19 17:00:48 2000
@@ -335,13 +335,11 @@
audioconfig_load_config (void)
{
char buf[256];
- FILE *f;
+ prefs_node *f;
GList *l;
int i;
- sprintf(buf, "%s/audio-objects", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
+ f = prefs_open_read("audio-objects");
if(f) {
for(i = 0; i < NUM_AUDIO_OBJECTS; i++) {
if(prefs_get_string(f, audio_objects[i].shorttitle, buf)) {
@@ -353,7 +351,7 @@
}
}
}
- fclose(f);
+ prefs_close(f);
}
for(i = 0; i < NUM_AUDIO_OBJECTS; i++) {
@@ -372,11 +370,11 @@
// load settings
if(d->loadsettings) {
- sprintf(buf, "%s/audio-object-%s", prefs_get_prefsdir(), audio_objects[i].shorttitle);
- f = fopen(buf, "rb");
+ sprintf(buf, "audio-object-%s", audio_objects[i].shorttitle);
+ f = prefs_open_read(buf);
if(f) {
d->loadsettings(*audio_objects[i].driver_object, f);
- fclose(f);
+ prefs_close(f);
} else {
// set default values
// will use module defaults for now
@@ -390,12 +388,10 @@
audioconfig_load_mixer_config (void)
{
char buf[256];
- FILE *f;
+ prefs_node *f;
GList *l;
- sprintf(buf, "%s/mixer", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
+ f = prefs_open_read("mixer");
if(f) {
if(prefs_get_string(f, "mixer", buf)) {
for(l = mixers; l; l = l->next) {
@@ -406,7 +402,7 @@
}
}
}
- fclose(f);
+ prefs_close(f);
}
if(!audioconfig_current_mixer) {
@@ -419,13 +415,10 @@
audioconfig_save_config (void)
{
char buf[256];
- FILE *f;
+ prefs_node *f;
int i;
- prefs_check_prefs_dir();
- sprintf(buf, "%s/audio-objects", prefs_get_prefsdir());
-
- f = fopen(buf, "wb");
+ f = prefs_open_write("audio-objects");
if(!f)
return;
@@ -435,27 +428,26 @@
((st_driver*)*(audio_objects[i].driver))->name);
}
- fclose(f);
+ prefs_close(f);
/* Write the driver module's configurations in extra files */
for(i = 0; i < NUM_AUDIO_OBJECTS; i++) {
- gboolean (*savesettings)(void *, FILE *) = ((st_driver*)*(audio_objects[i].driver))->savesettings;
+ gboolean (*savesettings)(void *, prefs_node *) = ((st_driver*)*(audio_objects[i].driver))->savesettings;
if(savesettings) {
- sprintf(buf, "%s/audio-object-%s", prefs_get_prefsdir(), audio_objects[i].shorttitle);
- f = fopen(buf, "wb");
+ sprintf(buf, "audio-object-%s", audio_objects[i].shorttitle);
+ f = prefs_open_write("wb");
if(f) {
savesettings(*audio_objects[i].driver_object, f);
- fclose(f);
+ prefs_close(f);
}
}
}
- sprintf(buf, "%s/mixer", prefs_get_prefsdir());
- f = fopen(buf, "wb");
+ f = prefs_open_write("mixer");
if(f) {
prefs_put_string(f, "mixer", audioconfig_current_mixer->id);
- fclose(f);
+ prefs_close(f);
}
return;
diff -urN soundtracker-0.5.7/app/driver.h soundtracker-0.5.8/app/driver.h
--- soundtracker-0.5.7/app/driver.h Sat Feb 19 11:58:33 2000
+++ soundtracker-0.5.8/app/driver.h Tue Sep 19 16:57:11 2000
@@ -22,10 +22,10 @@
#ifndef _ST_DRIVER_H
#define _ST_DRIVER_H
-#include
-
#include
+#include "preferences.h"
+
typedef struct st_driver {
const char *name;
@@ -44,16 +44,14 @@
// get pointer to configuration widget
GtkWidget * (*getwidget) (void *d);
- // load configuration from provided FILE
+ // load configuration from provided prefs_node
// can use get/put the functions from preferences.h
- gboolean (*loadsettings) (void *d, FILE *f);
+ gboolean (*loadsettings) (void *d, prefs_node *f);
- // save configuration to specified FILE
+ // save configuration to specified prefs_node
// can use get/put the functions from preferences.h
- gboolean (*savesettings) (void *d, FILE *f);
+ gboolean (*savesettings) (void *d, prefs_node *f);
} st_driver;
-
-
#endif /* _ST_DRIVER_H */
diff -urN soundtracker-0.5.7/app/drivers/Makefile.am soundtracker-0.5.8/app/drivers/Makefile.am
--- soundtracker-0.5.7/app/drivers/Makefile.am Wed Jan 12 20:29:59 2000
+++ soundtracker-0.5.8/app/drivers/Makefile.am Tue Sep 19 17:38:07 2000
@@ -8,6 +8,7 @@
alsa-input.c \
alsa2-output.c \
alsa2-input.c \
+ dsound-output.c \
esd-output.c \
file-output.c
diff -urN soundtracker-0.5.7/app/drivers/Makefile.in soundtracker-0.5.8/app/drivers/Makefile.in
--- soundtracker-0.5.7/app/drivers/Makefile.in Tue Aug 15 18:36:22 2000
+++ soundtracker-0.5.8/app/drivers/Makefile.in Tue Sep 19 18:20:32 2000
@@ -97,7 +97,7 @@
noinst_LIBRARIES = libdrivers.a
-libdrivers_a_SOURCES = oss-output.c oss-input.c alsa-output.c alsa-input.c alsa2-output.c alsa2-input.c esd-output.c file-output.c
+libdrivers_a_SOURCES = oss-output.c oss-input.c alsa-output.c alsa-input.c alsa2-output.c alsa2-input.c dsound-output.c esd-output.c file-output.c
INCLUDES = -I..
@@ -113,7 +113,8 @@
LIBS = @LIBS@
libdrivers_a_LIBADD =
libdrivers_a_OBJECTS = oss-output.o oss-input.o alsa-output.o \
-alsa-input.o alsa2-output.o alsa2-input.o esd-output.o file-output.o
+alsa-input.o alsa2-output.o alsa2-input.o dsound-output.o esd-output.o \
+file-output.o
AR = ar
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -221,17 +222,19 @@
alsa-output.o: alsa-output.c ../../config.h
alsa2-input.o: alsa2-input.c ../../config.h
alsa2-output.o: alsa2-output.c ../../config.h
+dsound-output.o: dsound-output.c ../../config.h
esd-output.o: esd-output.c ../../config.h ../i18n.h ../driver-out.h \
- ../driver.h ../mixer.h ../errors.h ../gui-subs.h \
- ../preferences.h
+ ../driver.h ../preferences.h ../mixer.h ../errors.h \
+ ../gui-subs.h
file-output.o: file-output.c ../../config.h ../i18n.h ../driver-out.h \
- ../driver.h ../mixer.h ../errors.h ../gui-subs.h \
- ../preferences.h
+ ../driver.h ../preferences.h ../mixer.h ../errors.h \
+ ../gui-subs.h
oss-input.o: oss-input.c ../../config.h ../i18n.h ../driver-in.h \
- ../driver.h ../mixer.h ../errors.h ../gui-subs.h
+ ../driver.h ../preferences.h ../mixer.h ../errors.h \
+ ../gui-subs.h
oss-output.o: oss-output.c ../../config.h ../i18n.h ../driver-out.h \
- ../driver.h ../mixer.h ../errors.h ../gui-subs.h \
- ../preferences.h
+ ../driver.h ../preferences.h ../mixer.h ../errors.h \
+ ../gui-subs.h
info-am:
info: info-am
diff -urN soundtracker-0.5.7/app/drivers/alsa-input.c soundtracker-0.5.8/app/drivers/alsa-input.c
--- soundtracker-0.5.7/app/drivers/alsa-input.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/drivers/alsa-input.c Tue Sep 19 17:21:15 2000
@@ -480,7 +480,7 @@
static gboolean
alsa_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
@@ -499,7 +499,7 @@
static gboolean
alsa_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/drivers/alsa-output.c soundtracker-0.5.8/app/drivers/alsa-output.c
--- soundtracker-0.5.7/app/drivers/alsa-output.c Mon May 1 18:45:47 2000
+++ soundtracker-0.5.8/app/drivers/alsa-output.c Tue Sep 19 17:21:15 2000
@@ -487,7 +487,7 @@
static gboolean
alsa_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
@@ -506,7 +506,7 @@
static gboolean
alsa_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/drivers/alsa2-input.c soundtracker-0.5.8/app/drivers/alsa2-input.c
--- soundtracker-0.5.7/app/drivers/alsa2-input.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/drivers/alsa2-input.c Tue Sep 19 17:21:15 2000
@@ -499,7 +499,7 @@
static gboolean
alsa_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
@@ -518,7 +518,7 @@
static gboolean
alsa_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/drivers/alsa2-output.c soundtracker-0.5.8/app/drivers/alsa2-output.c
--- soundtracker-0.5.7/app/drivers/alsa2-output.c Mon May 1 18:44:11 2000
+++ soundtracker-0.5.8/app/drivers/alsa2-output.c Tue Sep 19 17:21:15 2000
@@ -507,7 +507,7 @@
static gboolean
alsa_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
@@ -526,7 +526,7 @@
static gboolean
alsa_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
alsa_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/drivers/dsound-output.c soundtracker-0.5.8/app/drivers/dsound-output.c
--- soundtracker-0.5.7/app/drivers/dsound-output.c Thu Jan 1 01:00:00 1970
+++ soundtracker-0.5.8/app/drivers/dsound-output.c Tue Sep 19 17:37:11 2000
@@ -0,0 +1,434 @@
+
+/*
+ * The Real SoundTracker - dsound (output) driver.
+ *
+ * Copyright (C) 1999 Tammo Hinrichs
+ * Copyright (C) 2000 Fabian Giesen
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include
+
+#if defined(_WIN32)
+
+#include
+#include
+#include
+
+#include "i18n.h"
+#include "driver-out.h"
+#include "mixer.h"
+#include "errors.h"
+#include "gui-subs.h"
+#include "preferences.h"
+#include "winpipe.h"
+
+#include
+#include
+#include
+
+typedef HRESULT (WINAPI *dscfunc)(LPGUID,LPDIRECTSOUND*,LPUNKNOWN);
+
+typedef struct {
+ GtkWidget *configwidget;
+
+ int out_sock, out_bits, out_channels, out_rate;
+ int samples_per_frame;
+ int mf;
+
+ void *buf;
+ int fakepipe[2];
+ gpointer polltag;
+
+ long buflen;
+ signed long playpos, lastpos;
+
+ HINSTANCE hdsinst;
+ HWND winhwnd;
+ HANDLE thread;
+ dscfunc DSCreate;
+
+ LPDIRECTSOUND lpds;
+ DSCAPS dscaps;
+
+ WAVEFORMATEX pbformat, sbformat;
+ WAVEFORMATEX *wbformat;
+ DSBUFFERDESC pbdesc, sbdesc;
+ LPDIRECTSOUNDBUFFER pbuffer, sbuffer, wbuffer;
+ DSBCAPS pbcaps;
+
+ int locked;
+ void *lockbuf,*lockbuf2;
+ DWORD locklen,locklen2;
+
+ char *tempbuf;
+ int writeprim;
+ int sampshift;
+
+ double outtime;
+ double playtime;
+} dsound_driver;
+
+static int thread;
+
+static int
+dsound_get_buffer_pos (void *dp)
+{
+ dsound_driver *d=dp;
+ int pc;
+
+ IDirectSoundBuffer_GetCurrentPosition(d->wbuffer,(DWORD*) &pc,0);
+ return pc;
+}
+
+static void
+dsound_poll_ready_playing (gpointer data,
+ gint source,
+ GdkInputCondition condition)
+{
+ dsound_driver * const d = data;
+ int bufpos, delta, pos, lockok=0, len1, len2;
+ char bla;
+
+ bufpos=dsound_get_buffer_pos(data);
+ delta=((bufpos>=d->lastpos)?0:d->buflen)+bufpos-d->lastpos;
+
+ pos=(bufpos+delta)%d->buflen;
+ d->playpos+=delta;
+
+ while (!lockok)
+ {
+ switch (IDirectSoundBuffer_Lock(d->wbuffer,d->lastpos,delta,&d->lockbuf,&d->locklen,&d->lockbuf2,&d->locklen2,0))
+ {
+ case DS_OK:
+ lockok=1;
+ break;
+ case DSERR_BUFFERLOST:
+ if FAILED(IDirectSoundBuffer_Restore(d->wbuffer))
+ lockok=2;
+ break;
+ default:
+ lockok=2;
+ }
+ }
+
+ if (lockok==1)
+ {
+ audio_mix(d->lockbuf,d->locklen>>d->sampshift,d->out_rate,d->mf);
+ if (d->locklen2)
+ audio_mix(d->lockbuf2,d->locklen2>>d->sampshift,d->out_rate,d->mf);
+ }
+
+ IDirectSoundBuffer_Unlock(d->wbuffer,d->lockbuf,d->locklen,d->lockbuf2,d->locklen2);
+ d->lastpos=bufpos;
+}
+
+static DWORD WINAPI
+dsound_thread(LPVOID dp)
+{
+ dsound_driver * const d = dp;
+
+ SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_ABOVE_NORMAL);
+
+ while (thread)
+ {
+ dsound_poll_ready_playing(d, 0, 0);
+ Sleep(25); /* sonst zieht das entschieden zuviel rechenzeit */
+ }
+
+ return 0;
+}
+
+static void
+dsound_make_config_widgets (dsound_driver *d)
+{
+ GtkWidget *thing, *mainbox;
+
+ d->configwidget = mainbox = gtk_vbox_new(FALSE, 2);
+
+ thing = gtk_label_new(_("in beta state. aber ryg rockt."));
+ gtk_box_pack_start(GTK_BOX(mainbox), thing, FALSE, TRUE, 0);
+ gtk_widget_show(thing);
+}
+
+static GtkWidget *
+dsound_getwidget (void *dp)
+{
+ dsound_driver * const d = dp;
+
+ return d->configwidget;
+}
+
+static void *
+dsound_new (void)
+{
+ dsound_driver *d = g_new(dsound_driver, 1);
+
+ d->out_bits = 16;
+ d->out_rate = 44100;
+ d->out_channels = 2;
+ d->pbuffer = 0;
+ d->sbuffer = 0;
+ d->wbuffer = 0;
+ d->writeprim = 0;
+
+ dsound_make_config_widgets(d);
+
+ return d;
+}
+
+static void
+dsound_destroy (void *dp)
+{
+ dsound_driver * const d = dp;
+
+ gtk_widget_destroy(d->configwidget);
+ g_free(dp);
+}
+
+static void
+dsound_release (void *dp)
+{
+ dsound_driver * const d = dp;
+
+ thread=0;
+ WaitForSingleObject(d->thread, 1000);
+
+ if (d->sbuffer)
+ {
+ IDirectSoundBuffer_Stop(d->sbuffer);
+ IDirectSoundBuffer_Release(d->sbuffer);
+ }
+
+ if (d->tempbuf)
+ g_free(d->tempbuf);
+
+ d->sbuffer=0;
+ d->tempbuf=0;
+
+ IDirectSound_Release(d->lpds);
+}
+
+static gboolean
+dsound_play (void *dp)
+{
+ dsound_driver *d = dp;
+ int len;
+
+ memset(&d->pbformat,0,sizeof(WAVEFORMATEX));
+ d->pbformat.wFormatTag=WAVE_FORMAT_PCM;
+ d->pbformat.nChannels=d->out_channels;
+ d->pbformat.nSamplesPerSec=d->out_rate;
+ d->pbformat.wBitsPerSample=d->out_bits;
+ d->pbformat.nBlockAlign=d->pbformat.wBitsPerSample/8*d->pbformat.nChannels;
+ d->pbformat.nAvgBytesPerSec=d->pbformat.nSamplesPerSec*d->pbformat.nBlockAlign;
+ if FAILED(IDirectSoundBuffer_SetFormat(d->pbuffer,&d->pbformat))
+ {
+ if (d->writeprim)
+ {
+ IDirectSound_SetCooperativeLevel(d->lpds,d->winhwnd,DSSCL_PRIORITY);
+ d->writeprim=0;
+ }
+ }
+
+ IDirectSoundBuffer_GetFormat(d->pbuffer,&d->pbformat,sizeof(d->pbformat),0);
+
+ len=(d->out_bits/8*d->out_channels*d->out_rate)/5; // 200ms buf default
+
+ if (d->writeprim)
+ {
+ d->pbcaps.dwSize=sizeof(d->pbcaps);
+ IDirectSoundBuffer_GetCaps(d->pbuffer,&d->pbcaps);
+ len=d->pbcaps.dwBufferBytes;
+ d->wbuffer=d->pbuffer;
+ d->wbformat=&d->pbformat;
+ }
+ else
+ {
+ len=(lenDSBSIZE_MAX)?DSBSIZE_MAX:len;
+
+ memset(&d->sbformat,0,sizeof(WAVEFORMATEX));
+ d->sbformat.wFormatTag=WAVE_FORMAT_PCM;
+ d->sbformat.nChannels=d->out_channels;
+ d->sbformat.nSamplesPerSec=d->out_rate;
+ d->sbformat.wBitsPerSample=d->out_bits;
+ d->sbformat.nBlockAlign=d->sbformat.wBitsPerSample/8*d->sbformat.nChannels;
+ d->sbformat.nAvgBytesPerSec=d->sbformat.nSamplesPerSec*d->sbformat.nBlockAlign;
+
+ memset(&d->sbdesc,0,sizeof(DSBUFFERDESC));
+ d->sbdesc.dwSize=sizeof(DSBUFFERDESC);
+ d->sbdesc.dwFlags=DSBCAPS_GETCURRENTPOSITION2|DSBCAPS_GLOBALFOCUS|DSBCAPS_STICKYFOCUS;
+ d->sbdesc.dwBufferBytes=len;
+ d->sbdesc.lpwfxFormat=&d->sbformat;
+
+ if FAILED(IDirectSound_CreateSoundBuffer(d->lpds,&d->sbdesc,&d->sbuffer,0))
+ return FALSE;
+
+ d->wbuffer=d->sbuffer;
+ d->wbformat=&d->sbformat;
+ }
+
+ d->buflen=len;
+
+ if FAILED(IDirectSoundBuffer_Lock(d->wbuffer,0,0,&d->lockbuf,&d->locklen,0,0,DSBLOCK_ENTIREBUFFER))
+ {
+ IDirectSoundBuffer_Unlock(d->wbuffer,d->lockbuf,0,0,0);
+
+ if (d->writeprim)
+ {
+ d->writeprim=0;
+ IDirectSound_SetCooperativeLevel(d->lpds,d->winhwnd,DSSCL_PRIORITY);
+ return dsound_play(dp);
+ }
+ else
+ {
+ IDirectSoundBuffer_Release(d->sbuffer);
+ return FALSE;
+ }
+ }
+ else
+ {
+ memset(d->lockbuf,0,d->locklen);
+ IDirectSoundBuffer_Unlock(d->wbuffer,d->lockbuf,0,0,0);
+ }
+
+ if FAILED(IDirectSoundBuffer_Play(d->wbuffer,0,0,DSBPLAY_LOOPING))
+ {
+ if (d->writeprim)
+ {
+ d->writeprim=0;
+ IDirectSound_SetCooperativeLevel(d->lpds,d->winhwnd,DSSCL_PRIORITY);
+ return dsound_play(dp);
+ }
+ else
+ {
+ IDirectSoundBuffer_Release(d->sbuffer);
+ return FALSE;
+ }
+ }
+
+ d->tempbuf=g_new(char, len);
+ memset(d->tempbuf,0,len);
+ d->buf=d->tempbuf;
+
+ d->locked=0;
+ d->playpos=-d->buflen;
+ d->lastpos=0;
+
+ return TRUE;
+}
+
+static gboolean
+dsound_open (void *dp)
+{
+ dsound_driver * const d = dp;
+ int out_format;
+ DWORD tid;
+ char bla;
+
+ d->winhwnd=GetForegroundWindow();
+ d->writeprim=0;
+
+ d->hdsinst=LoadLibrary("dsound.dll");
+ if (!d->hdsinst)
+ return FALSE;
+
+ d->DSCreate=(dscfunc)GetProcAddress(d->hdsinst,"DirectSoundCreate");
+ if (!d->DSCreate)
+ return FALSE;
+
+ if FAILED(d->DSCreate(0,&d->lpds,0))
+ return FALSE;
+
+ d->dscaps.dwSize=sizeof(DSCAPS);
+ if FAILED(IDirectSound_GetCaps(d->lpds,&d->dscaps))
+ return FALSE;
+
+ if FAILED(IDirectSound_SetCooperativeLevel(d->lpds,d->winhwnd,d->writeprim?DSSCL_WRITEPRIMARY:DSSCL_PRIORITY))
+ {
+ d->writeprim=0;
+ if FAILED(IDirectSound_SetCooperativeLevel(d->lpds,d->winhwnd,DSSCL_PRIORITY))
+ return FALSE;
+ }
+
+ memset(&d->pbdesc,0,sizeof(DSBUFFERDESC));
+ d->pbdesc.dwSize=sizeof(DSBUFFERDESC);
+ d->pbdesc.dwFlags=DSBCAPS_PRIMARYBUFFER;
+ if FAILED(IDirectSound_CreateSoundBuffer(d->lpds,&d->pbdesc,&d->pbuffer,0))
+ return FALSE;
+
+ if (!dsound_play(dp))
+ return FALSE;
+
+ d->sampshift=(d->out_bits==16)?1:0;
+ d->sampshift+=(d->out_channels==2)?1:0;
+
+ d->mf=(d->out_bits==16)?ST_MIXER_FORMAT_S16_LE:ST_MIXER_FORMAT_U8;
+ d->mf|=(d->out_channels==2)?ST_MIXER_FORMAT_STEREO:0;
+// d->polltag=audio_poll_add(d->fakepipe[0], GDK_INPUT_READ, dsound_poll_ready_playing, d);
+
+ /* now kick the "polling" (which sucks coz of pipe-faking) */
+
+ thread=1;
+ d->thread=CreateThread(0, 8*1024, dsound_thread, d, 0, &tid);
+
+ return TRUE;
+}
+
+static double
+dsound_get_play_time (void *dp)
+{
+ dsound_driver * const d = dp;
+
+ return (double) d->playpos/(double) d->wbformat->nAvgBytesPerSec;
+}
+
+static gboolean
+dsound_loadsettings (void *dp,
+ prefs_node *f)
+{
+// dsound_driver * const d = dp;
+
+ return TRUE;
+}
+
+static gboolean
+dsound_savesettings (void *dp,
+ prefs_node *f)
+{
+// dsound_driver * const d = dp;
+
+ return TRUE;
+}
+
+st_out_driver driver_out_dsound = {
+ { "DirectSound Output",
+
+ dsound_new,
+ dsound_destroy,
+
+ dsound_open,
+ dsound_release,
+
+ dsound_getwidget,
+ dsound_loadsettings,
+ dsound_savesettings,
+ },
+
+ dsound_get_play_time,
+};
+
+#endif /* defined(_WIN32) */
diff -urN soundtracker-0.5.7/app/drivers/esd-output.c soundtracker-0.5.8/app/drivers/esd-output.c
--- soundtracker-0.5.7/app/drivers/esd-output.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/drivers/esd-output.c Tue Sep 19 16:59:18 2000
@@ -201,7 +201,7 @@
static gboolean
esd_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
// esd_driver * const d = dp;
@@ -210,7 +210,7 @@
static gboolean
esd_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
// esd_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/drivers/file-output.c soundtracker-0.5.8/app/drivers/file-output.c
--- soundtracker-0.5.7/app/drivers/file-output.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/drivers/file-output.c Tue Sep 19 16:59:18 2000
@@ -193,7 +193,7 @@
static gboolean
file_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
// file_driver * const d = dp;
@@ -202,7 +202,7 @@
static gboolean
file_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
// file_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/drivers/oss-output.c soundtracker-0.5.8/app/drivers/oss-output.c
--- soundtracker-0.5.7/app/drivers/oss-output.c Mon May 1 18:45:47 2000
+++ soundtracker-0.5.8/app/drivers/oss-output.c Tue Sep 19 16:59:18 2000
@@ -459,7 +459,7 @@
static gboolean
oss_loadsettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
oss_driver * const d = dp;
@@ -475,7 +475,7 @@
static gboolean
oss_savesettings (void *dp,
- FILE *f)
+ prefs_node *f)
{
oss_driver * const d = dp;
diff -urN soundtracker-0.5.7/app/envelope-box.c soundtracker-0.5.8/app/envelope-box.c
--- soundtracker-0.5.7/app/envelope-box.c Sun Mar 26 13:22:24 2000
+++ soundtracker-0.5.8/app/envelope-box.c Tue Sep 19 16:30:30 2000
@@ -407,6 +407,17 @@
}
}
+static gboolean
+envelope_box_canvas_point_out_of_sight (EnvelopeBox *e,
+ int xpos)
+{
+ double xposwindow;
+
+ gnome_canvas_world_to_window(e->canvas, xpos, 0, &xposwindow, NULL);
+
+ return xposwindow < 0 || xposwindow >= GTK_WIDGET(e->canvas)->allocation.width;
+}
+
static void
envelope_box_initialize_point_dragging (EnvelopeBox *e,
GnomeCanvasItem *eventitem,
@@ -450,6 +461,31 @@
envelope_box_block_loop_spins(e, FALSE);
}
+static void
+envelope_box_stop_point_dragging (EnvelopeBox *e,
+ GdkEvent *event)
+{
+ if(e->dragpoint == -1)
+ return;
+
+ gnome_canvas_item_ungrab(e->points[e->dragpoint], event->button.time);
+
+ /* Shrink scrolling region horizontally, if necessary */
+ if(e->dragpoint == e->current->num_points - 1 && e->current->points[e->dragpoint].pos < e->canvas_max_x) {
+ envelope_box_canvas_set_max_x(e, e->current->points[e->dragpoint].pos);
+ }
+
+ /* If new location is out of sight, jump there */
+ if(envelope_box_canvas_point_out_of_sight(e, e->current->points[e->dragpoint].pos)) {
+ int dx = e->current->points[e->dragpoint].pos - e->dragging_item_from_x;
+ int dy = e->current->points[e->dragpoint].val - e->dragging_item_from_y;
+ double zoom = e->zoomfactor_base * e->zoomfactor_mult;
+ gnome_canvas_scroll_to(e->canvas,
+ e->dragging_canvas_from_x + dx * zoom,
+ e->dragging_canvas_from_y - dy * zoom);
+ }
+}
+
static gint
envelope_box_canvas_event (GnomeCanvas *canvas,
GdkEvent *event,
@@ -511,10 +547,12 @@
}
}
- /* Insert new point and start dragging */
- envelope_box_insert_point(e, insert_after + 1, (int)x, 64 - CLAMP(y, 0, 64));
- envelope_box_initialize_point_dragging(e, NULL, event, e->points[insert_after + 1]);
- return TRUE;
+ if(insert_after != -1 && y >= 0 && y < 64) {
+ /* Insert new point and start dragging */
+ envelope_box_insert_point(e, insert_after + 1, (int)x, 64 - y);
+ envelope_box_initialize_point_dragging(e, NULL, event, e->points[insert_after + 1]);
+ return TRUE;
+ }
}
break;
@@ -524,6 +562,8 @@
e->dragging_canvas = FALSE;
e->zooming_canvas = FALSE;
return TRUE;
+ } else if(event->button.button == 1) {
+ envelope_box_stop_point_dragging(e, event);
}
break;
@@ -549,17 +589,6 @@
return FALSE;
}
-static gboolean
-envelope_box_canvas_point_out_of_sight (EnvelopeBox *e,
- int xpos)
-{
- double xposwindow;
-
- gnome_canvas_world_to_window(e->canvas, xpos, 0, &xposwindow, NULL);
-
- return xposwindow < 0 || xposwindow >= GTK_WIDGET(e->canvas)->allocation.width;
-}
-
static gint
envelope_box_point_event (GnomeCanvasItem *item,
GdkEvent *event,
@@ -579,30 +608,16 @@
break;
case GDK_BUTTON_PRESS:
- envelope_box_initialize_point_dragging(e, item, event, item);
- return TRUE;
+ if(event->button.button == 1) {
+ envelope_box_initialize_point_dragging(e, item, event, item);
+ return TRUE;
+ }
break;
case GDK_BUTTON_RELEASE:
- if(e->dragpoint != -1) {
- gnome_canvas_item_ungrab (item, event->button.time);
-
- /* Shrink scrolling region horizontally, if necessary */
- if(e->dragpoint == e->current->num_points - 1 && e->current->points[e->dragpoint].pos < e->canvas_max_x) {
- envelope_box_canvas_set_max_x(e, e->current->points[e->dragpoint].pos);
- }
-
- /* If new location is out of sight, jump there */
- if(envelope_box_canvas_point_out_of_sight(e, e->current->points[e->dragpoint].pos)) {
- int dx = e->current->points[e->dragpoint].pos - e->dragging_item_from_x;
- int dy = e->current->points[e->dragpoint].val - e->dragging_item_from_y;
- double zoom = e->zoomfactor_base * e->zoomfactor_mult;
- gnome_canvas_scroll_to(e->canvas,
- e->dragging_canvas_from_x + dx * zoom,
- e->dragging_canvas_from_y - dy * zoom);
- }
-
- e->dragpoint = -1;
+ if(event->button.button == 1) {
+ envelope_box_stop_point_dragging(e, event);
+ return TRUE;
}
break;
diff -urN soundtracker-0.5.7/app/event-waiter.c soundtracker-0.5.8/app/event-waiter.c
--- soundtracker-0.5.7/app/event-waiter.c Thu Jan 1 01:00:00 1970
+++ soundtracker-0.5.8/app/event-waiter.c Sun Sep 17 18:02:10 2000
@@ -0,0 +1,104 @@
+
+/*
+ * The Real SoundTracker - event waiter
+ *
+ * Copyright (C) 2000 Michael Krause
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "event-waiter.h"
+
+#include
+
+struct event_waiter {
+ GMutex *mutex;
+ int counter;
+ double time;
+};
+
+event_waiter *
+event_waiter_new (void)
+{
+ event_waiter *e = g_new(event_waiter, 1);
+
+ if(e) {
+ e->mutex = g_mutex_new();
+ event_waiter_reset(e);
+ }
+
+ return e;
+}
+
+void
+event_waiter_destroy (event_waiter *e)
+{
+ if(e) {
+ g_mutex_free(e->mutex);
+ g_free(e);
+ }
+}
+
+void
+event_waiter_reset (event_waiter *e)
+{
+ g_assert(e);
+
+ g_mutex_lock(e->mutex);
+ e->counter = 0;
+ e->time = 0.0;
+ g_mutex_unlock(e->mutex);
+}
+
+void
+event_waiter_start (event_waiter *e)
+{
+ g_assert(e);
+
+ g_mutex_lock(e->mutex);
+ e->counter++;
+ g_mutex_unlock(e->mutex);
+}
+
+void
+event_waiter_confirm (event_waiter *e,
+ double readytime)
+{
+ g_assert(e);
+
+ g_mutex_lock(e->mutex);
+ if(e->counter > 0) {
+ e->counter--;
+ }
+ if(readytime >= e->time) {
+ e->time = readytime;
+ }
+ g_mutex_unlock(e->mutex);
+}
+
+gboolean
+event_waiter_ready (event_waiter *e,
+ double currenttime)
+{
+ gboolean result;
+
+ g_assert(e);
+
+ g_mutex_lock(e->mutex);
+ result = (e->counter == 0 && currenttime >= e->time);
+ g_mutex_unlock(e->mutex);
+
+ return result;
+}
diff -urN soundtracker-0.5.7/app/event-waiter.h soundtracker-0.5.8/app/event-waiter.h
--- soundtracker-0.5.7/app/event-waiter.h Thu Jan 1 01:00:00 1970
+++ soundtracker-0.5.8/app/event-waiter.h Sun Sep 17 18:01:05 2000
@@ -0,0 +1,60 @@
+
+/*
+ * The Real SoundTracker - event waiter (header)
+ *
+ * Copyright (C) 2000 Michael Krause
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _EVENT_WAITER_H
+#define _EVENT_WAITER_H
+
+#include
+
+typedef struct event_waiter event_waiter;
+
+/* An event waiter is used to synchronize certain events between the
+ GUI and the audio thread. As opposed to the `time buffer', we don't
+ pass actual data here, but we have a semaphore-like interface which
+ can be made 'unready' through the start() call, and can be made
+ ready for a specific time through the confirm() call.
+
+ The current status, relative to a given time, can then be checked
+ through the ready() call.
+
+ start() and confirm() can nest. All functions are thread-safe.
+
+ Usage Example:
+ --------------
+
+ When the user changes the song position while playing, and the
+ mixing buffer is long enough, it could happen that the GUI would
+ reset the song position to the previous value, because it still
+ finds it in the player position time buffer. So the GUI stops
+ updating the song position for as long as we haven't replied to the
+ position change request. This is what event waiter does.
+
+ The same applies to Tempo / BPM changes. */
+
+event_waiter * event_waiter_new (void);
+void event_waiter_destroy (event_waiter *e);
+
+void event_waiter_reset (event_waiter *e);
+void event_waiter_start (event_waiter *e);
+void event_waiter_confirm (event_waiter *e, double readytime);
+gboolean event_waiter_ready (event_waiter *e, double currenttime);
+
+#endif /* _EVENT_WAITER_H */
diff -urN soundtracker-0.5.7/app/gui-settings.c soundtracker-0.5.8/app/gui-settings.c
--- soundtracker-0.5.7/app/gui-settings.c Mon Aug 14 12:05:25 2000
+++ soundtracker-0.5.8/app/gui-settings.c Tue Sep 19 17:14:07 2000
@@ -42,18 +42,21 @@
"---0000000",
1,
0,
+ 1,
+ 16,
+ 8,
+
+
0,
0,
+ 1,
1,
0,
+
+ 1,
0,
0,
- 0,
- 0,
- 1,
- 16,
- 8,
1,
@@ -347,7 +350,7 @@
gtk_box_pack_start(GTK_BOX(vbox1), thing, FALSE, TRUE, 0);
gtk_widget_show(thing);
- thing = gtk_check_button_new_with_label(_("Use Hexadecimal Numbers"));
+ thing = gtk_check_button_new_with_label(_("Hexadecimal row numbers"));
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(thing), gui_settings.tracker_hexmode);
gtk_box_pack_start(GTK_BOX(vbox1), thing, FALSE, TRUE, 0);
gtk_widget_show(thing);
@@ -557,12 +560,9 @@
void
gui_settings_load_config (void)
{
- char buf[256];
- FILE *f;
+ prefs_node *f;
- sprintf(buf, "%s/settings", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
+ f = prefs_open_read("settings");
if(f) {
prefs_get_int(f, "gui-use-hexadecimal-numbers", &gui_settings.tracker_hexmode);
prefs_get_int(f, "gui-use-upper-case", &gui_settings.tracker_upcase);
@@ -583,12 +583,10 @@
prefs_get_int(f, "scopes-update-frequency", &gui_settings.scopes_update_freq);
prefs_get_int(f, "scopes-buffer-size", &gui_settings.scopes_buffer_size);
prefs_get_int(f, "save-all-non-empty-patterns", &gui_settings.save_all_patterns);
- fclose(f);
+ prefs_close(f);
}
- sprintf(buf, "%s/settings-always", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
+ f = prefs_open_read("settings-always");
if(f) {
prefs_get_string(f, "loadmod-path", gui_settings.loadmod_path);
prefs_get_string(f, "savemod-path", gui_settings.savemod_path);
@@ -605,20 +603,16 @@
prefs_get_string(f, "gz-path", gui_settings.gz_path);
prefs_get_string(f, "bz2-path", gui_settings.bz2_path);
- fclose(f);
+ prefs_close(f);
}
}
void
gui_settings_save_config (void)
{
- char buf[256];
- FILE *f;
+ prefs_node *f;
- prefs_check_prefs_dir();
- sprintf(buf, "%s/settings", prefs_get_prefsdir());
-
- f = fopen(buf, "wb");
+ f = prefs_open_write("settings");
if(!f)
return;
@@ -641,19 +635,15 @@
prefs_put_int(f, "scopes-update-frequency", gui_settings.scopes_update_freq);
prefs_put_int(f, "save-all-non-empty-patterns", gui_settings.save_all_patterns);
- fclose(f);
+ prefs_close(f);
}
void
gui_settings_save_config_always (void)
{
- char buf[256];
- FILE *f;
-
- prefs_check_prefs_dir();
- sprintf(buf, "%s/settings-always", prefs_get_prefsdir());
+ prefs_node *f;
- f = fopen(buf, "wb");
+ f = prefs_open_write("settings-always");
if(!f)
return;
@@ -672,5 +662,5 @@
prefs_put_string(f, "gz-path", gui_settings.gz_path);
prefs_put_string(f, "bz2-path", gui_settings.bz2_path);
- fclose(f);
+ prefs_close(f);
}
diff -urN soundtracker-0.5.7/app/gui-settings.h soundtracker-0.5.8/app/gui-settings.h
--- soundtracker-0.5.7/app/gui-settings.h Mon Aug 7 20:58:32 2000
+++ soundtracker-0.5.8/app/gui-settings.h Sun Sep 17 18:06:57 2000
@@ -28,18 +28,20 @@
gchar tracker_line_format[10];
gboolean tracker_hexmode;
gboolean tracker_upcase;
+ gboolean highlight_rows;
+ int highlight_rows_n;
+ int highlight_rows_minor_n;
+
gboolean advance_cursor_in_fx_columns;
gboolean asynchronous_editing;
gboolean channel_numbering;
+
gboolean tempo_bpm_update;
gboolean auto_switch;
gboolean gui_display_scopes;
gboolean gui_use_backing_store;
gboolean gui_use_aa_canvas;
- gboolean highlight_rows;
- int highlight_rows_n;
- int highlight_rows_minor_n;
gboolean save_settings_on_exit;
diff -urN soundtracker-0.5.7/app/gui-subs.c soundtracker-0.5.8/app/gui-subs.c
--- soundtracker-0.5.7/app/gui-subs.c Tue Aug 15 10:18:52 2000
+++ soundtracker-0.5.8/app/gui-subs.c Mon Sep 18 11:30:14 2000
@@ -52,10 +52,10 @@
statusbar_update (int message, gboolean force_update)
{
#ifdef USE_GNOME
- gnome_appbar_set_status(GNOME_APPBAR(status_bar), status_messages[message]);
+ gnome_appbar_set_status(GNOME_APPBAR(status_bar), _(status_messages[message]));
#else
gtk_statusbar_pop(GTK_STATUSBAR(status_bar), statusbar_context_id);
- gtk_statusbar_push(GTK_STATUSBAR(status_bar), statusbar_context_id, status_messages[message]);
+ gtk_statusbar_push(GTK_STATUSBAR(status_bar), statusbar_context_id, _(status_messages[message]));
#endif
/* Take care here... GUI callbacks can be called at this point. */
if(force_update) {
diff -urN soundtracker-0.5.7/app/gui.c soundtracker-0.5.8/app/gui.c
--- soundtracker-0.5.7/app/gui.c Tue Aug 15 17:03:04 2000
+++ soundtracker-0.5.8/app/gui.c Mon Sep 18 18:26:33 2000
@@ -81,27 +81,25 @@
GtkWidget *status_bar;
GtkWidget *st_clock;
-static void tempo_slider_changed (int value);
-static void bpm_slider_changed (int value);
+static void gui_tempo_changed (int value);
+static void gui_bpm_changed (int value);
gui_subs_slider tempo_slider = {
- N_("Tempo"), 1, 31, tempo_slider_changed, GUI_SUBS_SLIDER_SPIN_ONLY
+ N_("Tempo"), 1, 31, gui_tempo_changed, GUI_SUBS_SLIDER_SPIN_ONLY
};
gui_subs_slider bpm_slider = {
- "BPM", 32, 255, bpm_slider_changed, GUI_SUBS_SLIDER_SPIN_ONLY
+ "BPM", 32, 255, gui_bpm_changed, GUI_SUBS_SLIDER_SPIN_ONLY
};
static GdkColor gui_clipping_led_on, gui_clipping_led_off;
static GtkWidget *gui_clipping_led;
static gboolean gui_clipping_led_status;
-static int set_songpos_count = 0, startstop_count = 0;
-static double set_songpos_wait_time = -1.0;
-
static int editing_pat = 0;
-static int songpos = 0;
static int capture_keys = 1;
+static int gui_ewc_startstop = 0;
+
/* gui event handlers */
static void file_selected(GtkWidget *w, GtkFileSelection *fs);
static void current_instrument_changed(GtkSpinButton *spin);
@@ -109,9 +107,9 @@
static void current_sample_changed(GtkSpinButton *spin);
static void current_sample_name_changed(void);
static int keyevent(GtkWidget *widget, GdkEventKey *event, gpointer data);
-static void spin_editpat_changed(GtkSpinButton *spin);
-static void spin_patlen_changed(GtkSpinButton *spin);
-static void spin_numchans_changed(GtkSpinButton *spin);
+static void gui_editpat_changed(GtkSpinButton *spin);
+static void gui_patlen_changed(GtkSpinButton *spin);
+static void gui_numchans_changed(GtkSpinButton *spin);
static void notebook_page_switched(GtkNotebook *notebook, GtkNotebookPage *page, int page_num);
static void gui_adj_amplification_changed(GtkAdjustment *adj);
static void gui_adj_pitchbend_changed(GtkAdjustment *adj);
@@ -527,19 +525,10 @@
playlist_position_changed (Playlist *p,
int newpos)
{
- if(newpos == songpos)
- return;
-
- songpos = newpos;
-
if(gui_playing_mode) {
// This will only be executed when the user changes the song position manually
gui_mixer_set_songpos(newpos);
- // See comment in audio.c::audio_mix() for why we do this
- set_songpos_count++;
- if(!ASYNCEDIT) {
- gui_set_current_pattern(playlist_get_nth_pattern(p, newpos));
- }
+ event_waiter_start(audio_songpos_ew);
} else {
gui_set_current_pattern(playlist_get_nth_pattern(p, newpos));
}
@@ -580,7 +569,7 @@
}
static void
-spin_editpat_changed (GtkSpinButton *spin)
+gui_editpat_changed (GtkSpinButton *spin)
{
int n = gtk_spin_button_get_value_as_int(spin);
@@ -591,7 +580,7 @@
}
static void
-spin_patlen_changed (GtkSpinButton *spin)
+gui_patlen_changed (GtkSpinButton *spin)
{
int n = gtk_spin_button_get_value_as_int(spin);
XMPattern *pat = &xm->patterns[editing_pat];
@@ -607,7 +596,7 @@
}
static void
-spin_numchans_changed (GtkSpinButton *spin)
+gui_numchans_changed (GtkSpinButton *spin)
{
int n = gtk_spin_button_get_value_as_int(spin);
@@ -625,23 +614,31 @@
}
static void
-tempo_slider_changed (int value)
+gui_tempo_changed (int value)
{
audio_ctlpipe_id i;
xm->tempo = value;
xm_set_modified(1);
- i = AUDIO_CTLPIPE_INIT_PLAYER;
+ if(gui_playing_mode) {
+ event_waiter_start(audio_tempo_ew);
+ }
+ i = AUDIO_CTLPIPE_SET_TEMPO;
write(audio_ctlpipe, &i, sizeof(i));
+ write(audio_ctlpipe, &value, sizeof(value));
}
static void
-bpm_slider_changed (int value)
+gui_bpm_changed (int value)
{
audio_ctlpipe_id i;
xm->bpm = value;
xm_set_modified(1);
- i = AUDIO_CTLPIPE_INIT_PLAYER;
+ if(gui_playing_mode) {
+ event_waiter_start(audio_bpm_ew);
+ }
+ i = AUDIO_CTLPIPE_SET_BPM;
write(audio_ctlpipe, &i, sizeof(i));
+ write(audio_ctlpipe, &value, sizeof(value));
}
static void
@@ -678,6 +675,17 @@
notebook_current_page = page_num;
}
+/* gui_update_player_pos() is responsible for updating various GUI
+ features according to the current player position. ProTracker and
+ FastTracker scroll the patterns while the song is playing, and we
+ need the time-buffer and event-waiter interfaces here for correct
+ synchronization (we're called from
+ track-editor.c::tracker_timeout() which hands us time-correct data)
+
+ We have an ImpulseTracker-like editing mode as well ("asynchronous
+ editing"), which disables the scrolling, but still updates the
+ current song position spin buttons, for example. */
+
void
gui_update_player_pos (const audio_player_pos *p)
{
@@ -686,41 +694,42 @@
if(gui_playing_mode == PLAYING_NOTE)
return;
- /* This test prevents feedback which occurs when manually changing the song position;
- if the audio thread doesn't follow immediately, the song position would be set back
- to its old position some lines below... */
- if(set_songpos_count != 0 || (set_songpos_wait_time != -1.0 && p->time < set_songpos_wait_time))
- return;
-
- set_songpos_wait_time = -1.0;
-
- if(gui_playing_mode == PLAYING_SONG && p->songpos != songpos) {
- // This will not be executed if the user has manually changed the song position
- songpos = p->songpos;
- playlist_set_position(playlist, songpos);
+ if(gui_playing_mode == PLAYING_SONG) {
+ if(event_waiter_ready(audio_songpos_ew, p->time)) {
+ /* The following check prevents excessive calls of set_position() */
+ if(p->songpos != playlist_get_position(playlist)) {
+ playlist_freeze_signals(playlist);
+ playlist_set_position(playlist, p->songpos);
+ playlist_thaw_signals(playlist);
+ }
+ }
if(!ASYNCEDIT) {
- gui_set_current_pattern(xm->pattern_order_table[songpos]);
+ /* The following is a no-op if we're already in the right pattern */
+ gui_set_current_pattern(xm->pattern_order_table[p->songpos]);
}
}
if(!ASYNCEDIT) {
- if(gui_playing_mode != PLAYING_NOTE) {
- tracker_set_patpos(tracker, p->patpos);
+ tracker_set_patpos(tracker, p->patpos);
+
+ if(notebook_current_page == 0) {
+ /* Prevent accumulation of X drawing primitives */
+ gdk_flush();
}
}
if(gui_settings.tempo_bpm_update) {
- tempo_slider.update_without_signal = TRUE;
- gui_subs_set_slider_value(&tempo_slider, p->tempo);
- tempo_slider.update_without_signal = FALSE;
-
- bpm_slider.update_without_signal = TRUE;
- gui_subs_set_slider_value(&bpm_slider, p->bpm);
- bpm_slider.update_without_signal = FALSE;
- }
+ if(event_waiter_ready(audio_tempo_ew, p->time)) {
+ tempo_slider.update_without_signal = TRUE;
+ gui_subs_set_slider_value(&tempo_slider, p->tempo);
+ tempo_slider.update_without_signal = FALSE;
+ }
- if(notebook_current_page == 0) {
- gdk_flush(); /* X drawing accumulates otherwise and makes pattern scrolling rather non-realtime :) */
+ if(event_waiter_ready(audio_bpm_ew, p->time)) {
+ bpm_slider.update_without_signal = TRUE;
+ gui_subs_set_slider_value(&bpm_slider, p->bpm);
+ bpm_slider.update_without_signal = FALSE;
+ }
}
xm_set_modified(m);
@@ -731,12 +740,11 @@
{
if(songtime < 0.0) {
gui_clipping_led_status = 0;
- gtk_widget_draw(gui_clipping_led, NULL);
} else {
audio_clipping_indicator *c = time_buffer_get(audio_clipping_indicator_tb, songtime);
gui_clipping_led_status = c && c->clipping;
- gtk_widget_draw(gui_clipping_led, NULL);
}
+ gtk_widget_draw(gui_clipping_led, NULL);
}
static void
@@ -765,9 +773,9 @@
gtk_clock_stop(GTK_CLOCK(st_clock));
#endif
- if(startstop_count > 0) {
+ if(gui_ewc_startstop > 0) {
/* can be equal to zero when the audio subsystem decides to stop playing on its own. */
- startstop_count--;
+ gui_ewc_startstop--;
}
gui_playing_mode = 0;
scope_group_stop_updating(scopegroup);
@@ -788,7 +796,7 @@
gtk_clock_start(GTK_CLOCK(st_clock));
#endif
- startstop_count--;
+ gui_ewc_startstop--;
gui_playing_mode = (a == AUDIO_BACKPIPE_PLAYING_STARTED) ? PLAYING_SONG : PLAYING_PATTERN;
if(!ASYNCEDIT) {
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(editing_toggle), FALSE);
@@ -800,7 +808,7 @@
break;
case AUDIO_BACKPIPE_PLAYING_NOTE_STARTED:
- startstop_count--;
+ gui_ewc_startstop--;
if(!gui_playing_mode) {
gui_playing_mode = PLAYING_NOTE;
scope_group_start_updating(scopegroup);
@@ -810,15 +818,9 @@
break;
case AUDIO_BACKPIPE_DRIVER_OPEN_FAILED:
- startstop_count--;
+ gui_ewc_startstop--;
break;
- case AUDIO_BACKPIPE_SONGPOS_CONFIRM:
- set_songpos_count--;
- readpipe(source, &set_songpos_wait_time, sizeof(set_songpos_wait_time));
- g_assert(set_songpos_count >= 0);
- break;
-
case AUDIO_BACKPIPE_ERROR_MESSAGE:
case AUDIO_BACKPIPE_WARNING_MESSAGE:
statusbar_update(STATUS_IDLE, FALSE);
@@ -849,8 +851,8 @@
{
struct pollfd pfd = { audio_backpipe, POLLIN, 0 };
- startstop_count++;
- while(startstop_count != 0) {
+ gui_ewc_startstop++;
+ while(gui_ewc_startstop != 0) {
g_return_if_fail(poll(&pfd, 1, -1) > 0);
read_mixer_pipe(NULL, audio_backpipe, 0);
}
@@ -859,7 +861,7 @@
static void
play_song (void)
{
- int sp = songpos;
+ int sp = playlist_get_position(playlist);
int pp = 0;
audio_ctlpipe_id i = AUDIO_CTLPIPE_PLAY_SONG;
@@ -888,7 +890,7 @@
{
gui_play_stop();
gui_mixer_play_pattern(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin_editpat)), tracker->patpos, 1);
- startstop_count++;
+ gui_ewc_startstop++;
}
void
@@ -980,7 +982,7 @@
write(audio_ctlpipe, &channel, sizeof(channel));
write(audio_ctlpipe, ¬e, sizeof(note));
write(audio_ctlpipe, &instrument, sizeof(instrument));
- startstop_count++;
+ gui_ewc_startstop++;
}
void
@@ -995,7 +997,7 @@
write(audio_ctlpipe, ¬e, sizeof(note));
write(audio_ctlpipe, &sample, sizeof(sample));
write(audio_ctlpipe, &offset, sizeof(offset));
- startstop_count++;
+ gui_ewc_startstop++;
}
void
@@ -1019,17 +1021,22 @@
void
gui_set_current_pattern (int p)
{
- int m = xm_get_modified();
+ int m;
if(editing_pat == p)
return;
+ m = xm_get_modified();
+
editing_pat = p;
tracker_set_pattern(tracker, &xm->patterns[p]);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_editpat), p);
gui_update_pattern_data();
- if(!GUI_ENABLED && !ASYNCEDIT)
+
+ if(!GUI_ENABLED && !ASYNCEDIT) {
gui_mixer_set_pattern(p);
+ }
+
xm_set_modified(m);
}
@@ -1202,7 +1209,6 @@
playlist_freeze_signals(playlist);
playlist_freeze(playlist);
- songpos = 0;
playlist_set_position(playlist, 0);
playlist_set_length(playlist, xm->song_length);
for(i = 0; i < xm->song_length; i++) {
@@ -1377,7 +1383,7 @@
spin_numchans = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(8, 2, 32, 2.0, 8.0, 0.0)), 0, 0);
gtk_box_pack_start(GTK_BOX(hbox), spin_numchans, FALSE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(spin_numchans), "changed",
- GTK_SIGNAL_FUNC(spin_numchans_changed), NULL);
+ GTK_SIGNAL_FUNC(gui_numchans_changed), NULL);
gtk_widget_show(spin_numchans);
hbox = gtk_hbox_new(FALSE, 4);
@@ -1394,7 +1400,7 @@
gtk_box_pack_start(GTK_BOX(hbox), spin_editpat, FALSE, TRUE, 0);
gtk_widget_show(spin_editpat);
gtk_signal_connect(GTK_OBJECT(spin_editpat), "changed",
- GTK_SIGNAL_FUNC(spin_editpat_changed), NULL);
+ GTK_SIGNAL_FUNC(gui_editpat_changed), NULL);
hbox = gtk_hbox_new(FALSE, 4);
gtk_table_attach_defaults(GTK_TABLE(table), hbox, 1, 2, 4, 5);
@@ -1409,7 +1415,7 @@
spin_patlen = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(64, 1, 256, 1.0, 16.0, 0.0)), 0, 0);
gtk_box_pack_start(GTK_BOX(hbox), spin_patlen, FALSE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(spin_patlen), "changed",
- GTK_SIGNAL_FUNC(spin_patlen_changed), NULL);
+ GTK_SIGNAL_FUNC(gui_patlen_changed), NULL);
gtk_widget_show(spin_patlen);
/* Scopes Group or Instrument / Sample Listing */
@@ -1506,7 +1512,7 @@
gtk_box_pack_start(GTK_BOX(hbox), thing, FALSE, TRUE, 0);
gtk_widget_show(thing);
- spin_jump = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(1.0, 0.0, 8.0, 1.0, 1.0, 0.0)), 0, 0);
+ spin_jump = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(1.0, 0.0, 16.0, 1.0, 1.0, 0.0)), 0, 0);
gtk_box_pack_start(GTK_BOX(hbox), spin_jump, FALSE, TRUE, 0);
gtk_widget_show(spin_jump);
gtk_signal_connect (GTK_OBJECT(spin_jump), "changed",
diff -urN soundtracker-0.5.7/app/keys.c soundtracker-0.5.8/app/keys.c
--- soundtracker-0.5.7/app/keys.c Sat Feb 19 16:31:27 2000
+++ soundtracker-0.5.8/app/keys.c Tue Sep 19 17:54:26 2000
@@ -7,6 +7,7 @@
* experimentation...
*
* Copyright (C) 1997-2000 Michael Krause
+ * Copyright (C) 2000 Fabian Giesen (Win32 stuff)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -25,6 +26,8 @@
#include
+#if !defined(_WIN32)
+
#include
#include
#include
@@ -720,16 +723,18 @@
{
char buf[256];
FILE *f;
+ prefs_node *p;
int r = 0;
int g;
keys_key *k;
int keysym, keycode, mod;
- sprintf(buf, "%s/keyboard", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
- if(!f)
+ p = prefs_open_read("keyboard");
+ if(!p) {
return 0;
+ }
+
+ f = prefs_get_file_pointer(p);
// Oh, oh, oh my god... goto is sooo evil :)
while(!feof(f)) {
@@ -764,7 +769,7 @@
r = 1;
err:
- fclose(f);
+ prefs_close(p);
return r;
}
@@ -773,15 +778,16 @@
{
char buf[256];
FILE *f;
+ prefs_node *p;
int g;
keys_key *k;
- prefs_check_prefs_dir();
- sprintf(buf, "%s/keyboard", prefs_get_prefsdir());
-
- f = fopen(buf, "wb");
- if(!f)
+ p = prefs_open_write("keyboard");
+ if(!p) {
return 0;
+ }
+
+ f = prefs_get_file_pointer(p);
for(g = 0; g < NUM_KEY_GROUPS; g++) {
for(k = groups[g].keys; k->title; k++) {
@@ -792,7 +798,7 @@
}
}
- fclose(f);
+ prefs_close(p);
return 1;
}
@@ -1054,3 +1060,69 @@
return FALSE;
}
+
+#else /* !defined(_WIN32) */
+
+#include
+#include
+#include
+#include
+
+#include
+//#include
+//#include "X11/Xlib.h"
+//#include
+
+#include
+#include
+
+#include "i18n.h"
+#include "keys.h"
+#include "gui-subs.h"
+#include "gui.h"
+#include "menubar.h"
+#include "preferences.h"
+
+char *lowkey="<>aAyYsSxXcCfFvVgGbBhHnNmMkK,;lL.:";
+
+void
+keys_dialog (void)
+{
+}
+
+int
+keys_save_config (void)
+{
+ return 1;
+}
+
+int
+keys_init (void)
+{
+ return 1;
+}
+
+guint32
+keys_get_key_meaning (guint32 keysym,
+ int modifiers)
+
+{
+ char *c;
+
+ for (c=lowkey; *c; c++)
+ if (*c==keysym)
+ return (c-lowkey)>>1;
+
+ return -1;
+}
+
+/* Yeah! Let's fake around X's stupid auto-repeat! X sends a
+ KeyRelease before the KeyPress event of an auto-repeat. */
+gboolean
+keys_is_key_pressed (guint32 keysym,
+ int modifiers)
+{
+ return FALSE;
+}
+
+#endif /* !defined(_WIN32) */
diff -urN soundtracker-0.5.7/app/main.c soundtracker-0.5.8/app/main.c
--- soundtracker-0.5.7/app/main.c Tue May 16 15:29:53 2000
+++ soundtracker-0.5.8/app/main.c Tue Sep 19 17:57:55 2000
@@ -78,6 +78,9 @@
#if 0
driver_out_test,
#endif
+#if defined(_WIN32)
+ driver_out_dsound,
+#endif
#if defined(__i386__) && !defined(NO_GASP)
mixer_kb_x86,
#endif
@@ -147,6 +150,11 @@
#ifdef DRIVER_ESD
drivers[DRIVER_OUTPUT] = g_list_append(drivers[DRIVER_OUTPUT],
&driver_out_esd);
+#endif
+
+#ifdef _WIN32
+ drivers[DRIVER_OUTPUT] = g_list_append(drivers[DRIVER_OUTPUT],
+ &driver_out_dsound);
#endif
#ifndef NO_AUDIOFILE
diff -urN soundtracker-0.5.7/app/menubar.c soundtracker-0.5.8/app/menubar.c
--- soundtracker-0.5.7/app/menubar.c Tue Aug 15 16:55:19 2000
+++ soundtracker-0.5.8/app/menubar.c Tue Sep 19 18:19:34 2000
@@ -206,7 +206,7 @@
keys_save_config();
audioconfig_save_config();
trackersettings_write_settings();
-#if defined(DRIVER_ALSA_050)
+#if defined(DRIVER_ALSA_050) && defined(USE_GNOME)
midi_save_config();
#endif
}
@@ -231,7 +231,9 @@
track_editor_cut_selection, // 10
track_editor_copy_selection, // 11
track_editor_paste_selection, // 12
- track_editor_kill_notes_track // 13
+ track_editor_kill_notes_track, // 13
+ NULL, // 14
+ NULL // 15
};
#ifdef USE_GNOME
@@ -246,7 +248,18 @@
}
#endif
- functions[a](t);
+ switch(a) {
+ case 14:
+ track_editor_cmd_mvalue(t, TRUE); /* increment CMD value */
+ break;
+ case 15:
+ track_editor_cmd_mvalue(t, FALSE); /* decrement CMD value */
+ break;
+
+ default:
+ functions[a](t);
+ break;
+ }
}
static void
@@ -320,6 +333,10 @@
GNOME_APP_PIXMAP_NONE, 0, 0, 0, NULL },
{ GNOME_APP_UI_ITEM, N_("_Delete"), NULL, menubar_handle_edit_menu, (gpointer)7, NULL,
GNOME_APP_PIXMAP_NONE, 0, 0, 0, NULL },
+ { GNOME_APP_UI_ITEM, N_("Increment cmd value"), NULL, menubar_handle_edit_menu, (gpointer)14, NULL,
+ GNOME_APP_PIXMAP_NONE, GNOME_STOCK_MENU_NEW, '=', GDK_CONTROL_MASK, NULL },
+ { GNOME_APP_UI_ITEM, N_("Decrement cmd value"), NULL, menubar_handle_edit_menu, (gpointer)15, NULL,
+ GNOME_APP_PIXMAP_NONE, GNOME_STOCK_MENU_NEW, '-', GDK_CONTROL_MASK, NULL },
GNOMEUIINFO_END
};
@@ -551,6 +568,8 @@
{ N_("/Edit/Selection/_Copy"), "C", menubar_handle_edit_menu, 11 },
{ N_("/Edit/Selection/_Paste"), "V", menubar_handle_edit_menu, 12 },
{ N_("/Edit/Selection/_Interpolate effects"), "I", menubar_handle_edit_menu, 8 },
+ { N_("/Edit/Track/Increment cmd value"), "=", menubar_handle_edit_menu, 14 },
+ { N_("/Edit/Track/Decrement cmd value"), "-", menubar_handle_edit_menu, 15 },
{ N_("/_Pattern"), NULL, NULL, 0, "" },
{ N_("/Pattern/_Find Unused Pattern"), "F", modinfo_find_unused_pattern, 0 },
{ N_("/Pattern/_Copy Current to Unused Pattern"), "G", modinfo_copy_to_unused_pattern, 0 },
@@ -615,10 +634,7 @@
char * (*tl)(const char *) = id;
#endif
- prefs_check_prefs_dir();
- sprintf(buf, "%s/non-gnome-accels", prefs_get_prefsdir());
-
- gtk_item_factory_parse_rc(buf);
+ gtk_item_factory_parse_rc(prefs_get_filename("non-gnome-accels"));
/* UGH: Oh, oh... gtk+ requires that gtk_item_factory_get_widget()
be called without the underscores in the menu string */
@@ -696,12 +712,7 @@
void
menubar_write_accels ()
{
- char buf[256];
-
- prefs_check_prefs_dir();
- sprintf(buf, "%s/non-gnome-accels", prefs_get_prefsdir());
-
- gtk_item_factory_dump_rc(buf, NULL, TRUE);
+ gtk_item_factory_dump_rc(prefs_get_filename("non-gnome-accels"), NULL, TRUE);
}
#endif
diff -urN soundtracker-0.5.7/app/midi-settings.c soundtracker-0.5.8/app/midi-settings.c
--- soundtracker-0.5.7/app/midi-settings.c Tue May 16 15:29:53 2000
+++ soundtracker-0.5.8/app/midi-settings.c Tue Sep 19 16:35:27 2000
@@ -25,7 +25,7 @@
#endif
-#if !defined(DRIVER_ALSA_050)
+#if !defined(DRIVER_ALSA_050) || !defined(USE_GNOME)
/*
* To allow proper linking of menubar.o,
diff -urN soundtracker-0.5.7/app/mixers/Makefile.am soundtracker-0.5.8/app/mixers/Makefile.am
--- soundtracker-0.5.7/app/mixers/Makefile.am Wed Mar 29 18:56:06 2000
+++ soundtracker-0.5.8/app/mixers/Makefile.am Tue Sep 19 17:55:49 2000
@@ -2,7 +2,7 @@
kb-x86-asm-built.S: kb-x86-asm.S
gasp kb-x86-asm.S > kb-x86-asm-built.S
-EXTRA_DIST = kb-x86-asm.S
+EXTRA_DIST = kb-x86-asm.S kb-x86-asmIntel.a
noinst_LIBRARIES = libmixers.a
diff -urN soundtracker-0.5.7/app/mixers/Makefile.in soundtracker-0.5.8/app/mixers/Makefile.in
--- soundtracker-0.5.7/app/mixers/Makefile.in Tue Aug 15 18:36:23 2000
+++ soundtracker-0.5.8/app/mixers/Makefile.in Tue Sep 19 18:20:33 2000
@@ -95,7 +95,7 @@
l = @l@
sedpath = @sedpath@
-EXTRA_DIST = kb-x86-asm.S
+EXTRA_DIST = kb-x86-asm.S kb-x86-asmIntel.a
noinst_LIBRARIES = libmixers.a
@GASP_IS_THERE_TRUE@MIXERSOURCES = integer32.c integer32-asm.S integer32-asm.h kb-x86.c kb-x86-asm-built.S kb-x86-asm.h
diff -urN soundtracker-0.5.7/app/mixers/kb-x86-asmIntel.a soundtracker-0.5.8/app/mixers/kb-x86-asmIntel.a
--- soundtracker-0.5.7/app/mixers/kb-x86-asmIntel.a Thu Jan 1 01:00:00 1970
+++ soundtracker-0.5.8/app/mixers/kb-x86-asmIntel.a Tue Sep 19 17:56:05 2000
@@ -0,0 +1,387 @@
+; The Real SoundTracker - Cubically interpolating mixing routines
+; with IT style filter support
+; Version for non-gas assemblers by Fabian Giesen, as of ST v0.5.4.
+;
+; Copyright (C) 1999-2000 Tammo Hinrichs
+; Copyright (C) 2000 Michael Krause
+; Copyright (C) 2000 Fabian Giesen
+;
+; This program is free software; you can redistribute it and/or modify
+; it under the terms of the GNU General Public License as published by
+; the Free Software Foundation; either version 2 of the License, or
+; (at your option) any later version.
+;
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with this program; if not, write to the Free Software
+; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+;
+;
+
+section .data
+
+_volrl dd 0
+_volrr dd 0
+_voll dd 0
+_volr dd 0
+magic1 dd 0
+ebpstore dd 0
+store2 dd 0
+scopebuf dd 0
+
+ffreq dd 0.0
+freso dd 0.0
+fl1 dd 0.0
+fb1 dd 0.0
+
+minampl dd 0.0001
+cremoveconst dd 0.992
+clampmax dd 32766.0
+clampmin: dd -32767.0
+minuseins: dd -1.0
+
+extern _kb_x86_outbuf
+extern _kb_x86_tempbuf
+extern _kb_x86_nsamples
+extern _kb_x86_amplification
+extern _kb_x86_ct0
+extern _kb_x86_ct1
+extern _kb_x86_ct2
+extern _kb_x86_ct3
+
+section .text
+
+global _kbasm_prepare_mixer
+_kbasm_prepare_mixer:
+ push ebp
+ mov ebp, esp
+
+ push eax
+
+ ; nothing happening here right now...
+
+ pop eax
+
+ leave
+ ret
+
+global _kbasm_post_mixing
+_kbasm_post_mixing:
+ push ebp
+ mov ebp, esp
+
+ push ebx
+ push ecx
+ push edx
+ push esi
+ push edi
+
+ finit
+
+ mov edi,[_kb_x86_outbuf]
+ mov esi,[_kb_x86_tempbuf]
+ mov ecx,[_kb_x86_nsamples]
+ shl ecx,1 ; stereo
+
+ call clipstereo
+
+ pop edi
+ pop esi
+ pop edx
+ pop ecx
+ pop ebx
+
+ leave
+ ret
+
+clipstereo: ; convert/clip samples, 16bit signed
+ fld dword [_kb_x86_amplification]
+ fld dword [clampmin] ; (min) (amp)
+ fld dword [clampmax] ; (max) (min) (amp)
+ mov bx, 32766
+ mov dx, -32767
+ mov [ebpstore],ebp
+ xor ebp,ebp
+
+.lp:
+ fld dword [esi] ; (ls) (max) (min) (amp)
+ fmul st3
+ fcom st1
+ fnstsw ax
+ sahf
+ ja .max
+ fcom st2
+ fstsw ax
+ sahf
+ jb .min
+ fistp word [edi] ; (max) (min) (amp)
+
+.next:
+ add esi,4
+ add edi,2
+ dec ecx
+ jnz .lp
+ jmp short .ende
+
+.max:
+ fstp st0 ; (max) (min) (amp)
+ mov [edi], bx
+ inc ebp
+ jmp short .next
+
+.min:
+ fstp st0 ; (max) (min) (amp)
+ mov [edi], dx
+ inc ebp
+ jmp short .next
+
+.ende:
+ mov eax, ebp
+ mov ebp, [ebpstore]
+ fstp st0 ; (min) (amp)
+ fstp st0 ; (amp)
+ fstp st0 ; -
+ ret
+
+global _kbasm_mix
+_kbasm_mix:
+ push ebp
+ mov ebp, esp
+
+ push eax
+ push ebx
+ push ecx
+ push edx
+ push esi
+ push edi
+
+ finit
+
+ mov [ebpstore],ebp
+ mov ebp,[ebp+8]
+
+ ; Put data into appropriate places for the real mixer subroutine
+ mov eax,[ebp]
+ mov ebx,[ebp+4]
+ mov [_voll],eax
+ mov [_volr],ebx
+ mov eax,[ebp+8]
+ mov ebx,[ebp+12]
+ mov [_volrl],eax
+ mov [_volrr],ebx
+
+ mov eax,[ebp+44]
+ mov [ffreq],eax
+ mov eax,[ebp+48]
+ mov [freso],eax
+ mov eax,[ebp+52]
+ mov [fl1],eax
+ mov eax,[ebp+56]
+ mov [fb1],eax
+ mov ecx,[ebp+60]
+ mov [scopebuf],ecx
+ mov ebx,[ebp+24] ; freqi
+ mov esi,[ebp+28] ; freqf
+ mov eax,[ebp+16] ; pointer to sample data
+ mov edx,[ebp+20] ; sample position (fractional part)
+ mov edi,[ebp+32] ; destination float buffer
+ mov ecx,[ebp+36] ; number of samples to mix
+
+ mov ebp,[ebp+64]
+ add ebp,_kbasm_mixers
+ mov ebp,[ebp]
+ call ebp
+
+ ; Update changed values
+ mov ebp,[ebpstore]
+ mov ebp,[ebp+8]
+
+ mov [ebp+16],eax ; pointer to sample data
+ mov [ebp+20],edx ; sample position (fractional part)
+ mov [ebp+32],edi ; destination float buffer
+ mov eax,[fl1]
+ mov [ebp+52],eax
+ mov eax,[fb1]
+ mov [ebp+56],eax
+
+ mov eax,[_voll]
+ mov ebx,[_volr]
+ mov [ebp],eax
+ mov [ebp+4],ebx
+
+ mov ebp,[ebpstore]
+
+ pop edi
+ pop esi
+ pop edx
+ pop ecx
+ pop ebx
+ pop eax
+
+ leave
+ ret
+
+%macro cubicmixer 4
+ fld dword [_voll]
+ fld dword [_volr]
+ mov ebp,eax
+ shr ebp,1
+ mov eax,edx
+%if %3
+ neg eax
+%endif
+ shr eax,24
+%if %1
+ mov [store2],esp
+ mov esp,[scopebuf]
+%endif
+ align 16
+%%mixlp:
+ fild word [ebp*2]
+ fmul dword [_kb_x86_ct0+eax*4]
+%if %3
+ fild word [ebp*2-2]
+ fmul dword [_kb_x86_ct1+eax*4]
+ fild word [ebp*2-4]
+ fmul dword [_kb_x86_ct2+eax*4]
+ fild word [ebp*2-6]
+%else
+ fild word [ebp*2+2]
+ fmul dword [_kb_x86_ct1+eax*4]
+ fild word [ebp*2+4]
+ fmul dword [_kb_x86_ct2+eax*4]
+ fild word [ebp*2+6]
+%endif
+ fmul dword [_kb_x86_ct3+eax*4]
+ fxch st2
+ faddp st3,st0
+ add edx,esi
+ lea edi,[edi+8]
+ faddp st2,st0
+ adc ebp,ebx
+ mov eax,edx
+ faddp st1,st0
+%if %3
+ neg eax
+%endif
+%if %2
+ fsub dword [fl1]
+ fmul dword [ffreq]
+ fld dword [fb1]
+ fmul dword [freso]
+ faddp st1,st0
+ fst dword [fb1]
+ fmul dword [ffreq]
+ fadd dword [fl1]
+ fst dword [fl1]
+%endif
+%if %1
+ fld st0
+ fmul st2
+ fld st1
+ fmul st4
+ faddp st1,st0
+ fistp word [esp]
+ lea esp,[esp+2]
+%endif
+ shr eax,24
+%if %4
+ fld st1
+ fld st3
+ fmul st2
+ fxch st4
+ fadd dword [_volrl]
+ fxch st2
+ fmulp st1
+ fxch st2
+ fadd dword [_volrr]
+ fxch st3
+ fadd dword [edi-8]
+ fxch st2
+ fadd dword [edi-4]
+ fstp dword [edi-4]
+ fxch st1
+ fstp dword [edi-8]
+ fxch st1
+%else
+ fld st2
+ fmul st1
+ fadd dword [edi-8]
+ fxch st1
+ fmul st2
+ fadd dword [edi-4]
+ fstp dword [edi-4]
+ fstp dword [edi-8]
+%endif
+ dec ecx
+ jz %%mixend
+ jmp %%mixlp
+%%mixend:
+%if %4
+ fstp dword [_volr]
+ fstp dword [_voll]
+%endif
+ shl ebp,1
+ mov eax,ebp
+%if %1
+ mov esp,[store2]
+%endif
+ ret
+%endmacro
+
+_kbasm_mix_cubic_noscopes_unfiltered_forward_noramp:
+ cubicmixer 0,0,0,0
+_kbasm_mix_cubic_noscopes_unfiltered_backward_noramp:
+ cubicmixer 0,0,1,0
+_kbasm_mix_cubic_noscopes_filtered_forward_noramp:
+ cubicmixer 0,1,0,0
+_kbasm_mix_cubic_noscopes_filtered_backward_noramp:
+ cubicmixer 0,1,1,0
+_kbasm_mix_cubic_scopes_unfiltered_forward_noramp:
+ cubicmixer 1,0,0,0
+_kbasm_mix_cubic_scopes_unfiltered_backward_noramp:
+ cubicmixer 1,0,1,0
+_kbasm_mix_cubic_scopes_filtered_forward_noramp:
+ cubicmixer 1,1,0,0
+_kbasm_mix_cubic_scopes_filtered_backward_noramp:
+ cubicmixer 1,1,1,0
+_kbasm_mix_cubic_noscopes_unfiltered_forward:
+ cubicmixer 0,0,0,1
+_kbasm_mix_cubic_noscopes_unfiltered_backward:
+ cubicmixer 0,0,1,1
+_kbasm_mix_cubic_noscopes_filtered_forward:
+ cubicmixer 0,1,0,1
+_kbasm_mix_cubic_noscopes_filtered_backward:
+ cubicmixer 0,1,1,1
+_kbasm_mix_cubic_scopes_unfiltered_forward:
+ cubicmixer 1,0,0,1
+_kbasm_mix_cubic_scopes_unfiltered_backward:
+ cubicmixer 1,0,1,1
+_kbasm_mix_cubic_scopes_filtered_forward:
+ cubicmixer 1,1,0,1
+_kbasm_mix_cubic_scopes_filtered_backward:
+ cubicmixer 1,1,1,1
+
+section .data
+global _kbasm_mixers
+_kbasm_mixers:
+ dd _kbasm_mix_cubic_noscopes_unfiltered_forward_noramp
+ dd _kbasm_mix_cubic_noscopes_unfiltered_backward_noramp
+ dd _kbasm_mix_cubic_noscopes_filtered_forward_noramp
+ dd _kbasm_mix_cubic_noscopes_filtered_backward_noramp
+ dd _kbasm_mix_cubic_scopes_unfiltered_forward_noramp
+ dd _kbasm_mix_cubic_scopes_unfiltered_backward_noramp
+ dd _kbasm_mix_cubic_scopes_filtered_forward_noramp
+ dd _kbasm_mix_cubic_scopes_filtered_backward_noramp
+ dd _kbasm_mix_cubic_noscopes_unfiltered_forward
+ dd _kbasm_mix_cubic_noscopes_unfiltered_backward
+ dd _kbasm_mix_cubic_noscopes_filtered_forward
+ dd _kbasm_mix_cubic_noscopes_filtered_backward
+ dd _kbasm_mix_cubic_scopes_unfiltered_forward
+ dd _kbasm_mix_cubic_scopes_unfiltered_backward
+ dd _kbasm_mix_cubic_scopes_filtered_forward
+ dd _kbasm_mix_cubic_scopes_filtered_backward
diff -urN soundtracker-0.5.7/app/module-info.c soundtracker-0.5.8/app/module-info.c
--- soundtracker-0.5.7/app/module-info.c Sun Apr 9 20:42:19 2000
+++ soundtracker-0.5.8/app/module-info.c Tue Sep 19 16:36:33 2000
@@ -69,7 +69,6 @@
strncpy(xm->name, gtk_entry_get_text(entry), 20);
xm->name[20] = 0;
xm_set_modified(1);
-
}
static void
@@ -200,6 +199,7 @@
for(i = 0; i < sizeof(xm->instruments) / sizeof(xm->instruments[0]); i++) {
if(!st_instrument_used_in_song(xm, i + 1)) {
st_clean_instrument(&xm->instruments[i], NULL);
+ xm_set_modified(1);
}
}
@@ -305,6 +305,7 @@
if(n != -1 && !st_is_empty_pattern(&xm->patterns[c])) {
gui_play_stop();
st_copy_pattern(&xm->patterns[n], &xm->patterns[c]);
+ xm_set_modified(1);
gui_set_current_pattern(n);
}
}
@@ -334,6 +335,7 @@
}
gui_playlist_initialize();
+ xm_set_modified(1);
}
// Put patterns in playback order, move unused patterns to the end of the pattern space
@@ -341,6 +343,7 @@
modinfo_reorder_patterns (void)
{
modinfo_pack_patterns();
+ xm_set_modified(1);
}
// Clear patterns which are not in the playlist
@@ -354,6 +357,7 @@
st_clear_pattern(&xm->patterns[i]);
tracker_redraw(tracker);
+ xm_set_modified(1);
}
// Optimize -- clear everything unused
@@ -363,4 +367,5 @@
modinfo_clear_unused_patterns();
modinfo_delete_unused_instruments();
modinfo_reorder_patterns();
+ xm_set_modified(1);
}
diff -urN soundtracker-0.5.7/app/poll.c soundtracker-0.5.8/app/poll.c
--- soundtracker-0.5.7/app/poll.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/poll.c Tue Sep 19 17:49:51 2000
@@ -6,6 +6,8 @@
* Copyright (C) 1998 Michael Krause
* Part of this file was part of the GNU C Library.
*
+ * Copyright (C) 2000 Fabian Giesen (pipe emulation code)
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -89,4 +91,311 @@
return ready;
}
-#endif
+#endif /* !defined(HAVE_SYS_POLL_H) */
+
+#if defined(_WIN32)
+
+#include
+#include
+#include
+#define WIN32_LEAN_AND_MEAN
+#include "glib.h"
+#include
+#include "poll.h"
+
+typedef struct plst {
+ HANDLE pa, pb;
+ HANDLE ea, eb;
+ int cnt;
+ struct plst *next;
+} plst;
+
+plst *pipelist=0;
+
+void pipe_init()
+{
+}
+
+static void addpipe(HANDLE pa, HANDLE pb, HANDLE ea, HANDLE eb)
+{
+ plst *n;
+
+ n=g_new(plst, 1);
+ n->pa=pa;
+ n->pb=pb;
+ n->ea=ea;
+ n->eb=eb;
+ n->cnt=0;
+ n->next=pipelist;
+
+ pipelist=n;
+}
+
+static void delpipe(HANDLE p)
+{
+ plst *t, *t2;
+
+ if ((pipelist->pa==p) || (pipelist->pb==p))
+ {
+ g_free(pipelist);
+ pipelist=0;
+ return;
+ }
+
+ for (t=pipelist; t->next; t=t->next)
+ if (((t2=t->next)->pa==p) || (t->next->pb==p))
+ {
+ t->next=t2->next;
+ g_free(t2);
+ return;
+ }
+}
+
+static plst *findpipe(HANDLE p)
+{
+ plst *t;
+
+ for (t=pipelist; t; t=t->next)
+ if ((t->pa==p) || (t->pb==p))
+ return t;
+
+ return 0;
+}
+
+int pipe_open(int *bla)
+{
+ int r;
+ HANDLE ea, eb;
+
+ r=CreatePipe((PHANDLE) bla, (PHANDLE) bla+1, 0, 0);
+
+ if (r)
+ {
+ ea=CreateEvent(0, 0, 1, 0);
+ eb=CreateEvent(0, 0, 1, 0);
+ addpipe((HANDLE) bla[0], (HANDLE) bla[1], ea, eb);
+ }
+
+ return r;
+}
+
+void pipe_close(int *bla)
+{
+ plst *a;
+
+ if ((a=findpipe(bla[0])))
+ {
+ CloseHandle(a->pa);
+ CloseHandle(a->pb);
+ CloseHandle(a->ea);
+ CloseHandle(a->eb);
+ }
+}
+
+int pipe_write(int fd, void *buf, int cnt)
+{
+ DWORD written;
+ plst *a;
+
+ WriteFile((HANDLE) fd, buf, cnt, &written, 0);
+ if ((a=findpipe((HANDLE) fd)))
+ {
+ SetEvent(a->ea);
+ a->cnt+=cnt;
+
+ if (!a->cnt)
+ {
+ ResetEvent(a->ea);
+ ResetEvent(a->eb);
+ }
+ }
+
+ return written;
+}
+
+int pipe_read(int fd, void *buf, int cnt)
+{
+ DWORD read;
+ plst *a;
+
+ ReadFile((HANDLE) fd, buf, cnt, &read, 0);
+ if ((a=findpipe((HANDLE) fd)))
+ {
+ SetEvent(a->eb);
+ a->cnt-=cnt;
+
+ if (!a->cnt)
+ {
+ ResetEvent(a->eb);
+ }
+ }
+
+ return read;
+}
+
+int
+poll (fds, nfds, timeout)
+ struct pollfd *fds;
+ unsigned int nfds;
+ int timeout;
+{
+ HANDLE handles[16];
+ GPollFD *f;
+ DWORD ready;
+ MSG msg;
+ UINT timer;
+ LONG prevcnt;
+ gint poll_msgs = -1;
+ gint nhandles = 0;
+ plst *a=0;
+
+ for (f = fds; f < &fds[nfds]; ++f)
+ if (f->fd >= 0)
+ {
+ if (f->events & G_IO_IN)
+ if (f->fd == G_WIN32_MSG_HANDLE)
+ poll_msgs = f - fds;
+ else
+ {
+ /* g_print ("g_poll: waiting for handle %#x\n", f->fd); */
+ if ((a=findpipe((HANDLE) f->fd)))
+ {
+ if (a->cnt)
+ {
+ SetEvent(a->ea);
+ SetEvent(a->eb);
+ }
+
+ handles[nhandles++]=a->ea;
+ handles[nhandles++]=a->eb;
+ }
+ else
+ handles[nhandles++] = (HANDLE) f->fd;
+ }
+ }
+
+ if (timeout == -1)
+ timeout = INFINITE;
+
+ if (poll_msgs >= 0)
+ {
+ /* Waiting for messages, and maybe events */
+ if (nhandles == 0)
+ {
+ if (timeout == INFINITE)
+ {
+ /* Waiting just for messages, infinite timeout
+ * -> Use PeekMessage, then WaitMessage
+ */
+ /* g_print ("WaitMessage, PeekMessage\n"); */
+ if (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
+ ready = WAIT_OBJECT_0;
+ else if (!WaitMessage ())
+ g_warning ("g_poll: WaitMessage failed");
+ ready = WAIT_OBJECT_0;
+ }
+ else if (timeout == 0)
+ {
+ /* Waiting just for messages, zero timeout
+ * -> Use PeekMessage
+ */
+ /* g_print ("PeekMessage\n"); */
+ if (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
+ ready = WAIT_OBJECT_0;
+ else
+ ready = WAIT_TIMEOUT;
+ }
+ else
+ {
+ /* Waiting just for messages, some timeout
+ * -> First try PeekMessage, then set a timer, wait for message,
+ * kill timer, use PeekMessage
+ */
+ /* g_print ("PeekMessage\n"); */
+ if (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
+ ready = WAIT_OBJECT_0;
+ else if ((timer = SetTimer (NULL, 0, timeout, NULL)) == 0)
+ g_warning ("g_poll: SetTimer failed");
+ else
+ {
+ /* g_print ("WaitMessage\n"); */
+ WaitMessage ();
+ KillTimer (NULL, timer);
+ if (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
+ ready = WAIT_OBJECT_0;
+ else
+ ready = WAIT_TIMEOUT;
+ }
+ }
+ }
+ else
+ {
+ /* Wait for either message or event
+ * -> Use MsgWaitForMultipleObjects
+ */
+ /* g_print ("MsgWaitForMultipleObjects(%d, %d)\n", nhandles, timeout); */
+ ready = MsgWaitForMultipleObjects (nhandles, handles, FALSE,
+ timeout, QS_ALLINPUT);
+ /* g_print("=%d\n", ready); */
+ if (ready == WAIT_FAILED)
+ printf("poll: MsgWaitForMultipleObjects failed (%s)\n", g_win32_error_message(GetLastError()));
+ }
+ }
+ else if (nhandles == 0)
+ {
+ /* Wait for nothing (huh?) */
+ return 0;
+ }
+ else
+ {
+ /* Wait for just events
+ * -> Use WaitForMultipleObjects
+ */
+ /* g_print ("WaitForMultipleObjects(%d, %d)\n", nhandles, timeout); */
+
+ ready = WaitForMultipleObjects (nhandles, handles, FALSE, timeout);
+/* g_print("=%d\n", ready);*/
+ if (ready == WAIT_FAILED)
+ printf("poll: WaitForMultipleObjects failed (%s): %08x\n", g_win32_error_message(GetLastError()), handles[0]);
+ }
+
+ for (f = fds; f < &fds[nfds]; ++f)
+ f->revents = 0;
+
+ if (ready == WAIT_FAILED)
+ return -1;
+ else if (poll_msgs >= 0 && ready == WAIT_OBJECT_0 + nhandles)
+ {
+ fds[poll_msgs].revents |= G_IO_IN;
+ }
+ else if (ready >= WAIT_OBJECT_0 && ready < WAIT_OBJECT_0 + nhandles)
+ for (f = fds; f < &fds[nfds]; ++f)
+ {
+ if (!(a=findpipe((HANDLE) f->fd)))
+ {
+ if ((f->events & POLLIN)
+ && f->fd == (gint) handles[ready - WAIT_OBJECT_0])
+ {
+ f->revents |= G_IO_IN;
+ /* g_print ("event %#x\n", f->fd); */
+ ResetEvent((HANDLE) f->fd);
+ }
+ }
+ else
+ {
+ if ((f->events & POLLIN)
+ && (a->ea == handles[ready - WAIT_OBJECT_0]
+ || a->eb == handles[ready - WAIT_OBJECT_0]))
+ {
+ f->revents |= G_IO_IN;
+ }
+ }
+ }
+
+ if (ready == WAIT_TIMEOUT)
+ return 0;
+ else
+ return 1;
+}
+
+#endif /* defined(_WIN32) */
diff -urN soundtracker-0.5.7/app/poll.h soundtracker-0.5.8/app/poll.h
--- soundtracker-0.5.7/app/poll.h Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/poll.h Tue Sep 19 17:49:52 2000
@@ -47,4 +47,14 @@
#endif /* HAVE_SYS_POLL_H */
+#if defined(_WIN32)
+
+void pipe_init();
+int pipe_open();
+void pipe_close();
+int pipe_write(int fd, void *buf, int cnt);
+int pipe_read(int fd, void *buf, int cnt);
+
+#endif /* defined(_WIN32) */
+
#endif /* _ST_POLL_H */
diff -urN soundtracker-0.5.7/app/preferences.c soundtracker-0.5.8/app/preferences.c
--- soundtracker-0.5.7/app/preferences.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/preferences.c Tue Sep 19 18:19:34 2000
@@ -3,6 +3,7 @@
* The Real SoundTracker - Preferences handling
*
* Copyright (C) 1998-2000 Michael Krause
+ * Copyright (C) 2000 Fabian Giesen
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,6 +20,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+#include
+
+#if !defined(_WIN32)
+
#include
#include
#include
@@ -30,6 +35,8 @@
#include
#include
+#include
+
#include "i18n.h"
#include "gui-subs.h"
#include "preferences.h"
@@ -38,27 +45,102 @@
#include "track-editor.h"
#include "errors.h"
-char *
+struct prefs_node {
+ gboolean writemode;
+ FILE *file;
+};
+
+static char *
prefs_get_prefsdir (void)
{
static char xdir[128];
struct passwd *pw;
+
pw = getpwuid(getuid());
sprintf(xdir, "%s/.soundtracker", pw->pw_dir);
return(xdir);
}
-void
+static void
prefs_check_prefs_dir (void)
{
struct stat st;
char *dir = prefs_get_prefsdir();
+
if(stat(dir, &st) < 0) {
mkdir(dir, S_IRUSR | S_IWUSR | S_IXUSR);
error_warning(_("A directory called '.soundtracker' has been created in your\nhome directory to store configuration files.\n"));
}
}
+const char *
+prefs_get_filename (const char *name)
+{
+ static char buf[256];
+
+ prefs_check_prefs_dir();
+ sprintf(buf, "%s/%s", prefs_get_prefsdir(), name);
+ return buf;
+}
+
+prefs_node *
+prefs_open_read (const char *name)
+{
+ prefs_node *p = g_new(prefs_node, 1);
+ char buf[256];
+
+ if(p) {
+ p->writemode = FALSE;
+ sprintf(buf, "%s/%s", prefs_get_prefsdir(), name);
+ p->file = fopen(buf, "rb");
+ if(p->file) {
+ return p;
+ }
+ g_free(p);
+ }
+
+ return NULL;
+}
+
+prefs_node *
+prefs_open_write (const char *name)
+{
+ prefs_node *p = g_new(prefs_node, 1);
+ char buf[256];
+
+ if(p) {
+ p->writemode = TRUE;
+ prefs_check_prefs_dir();
+ sprintf(buf, "%s/%s", prefs_get_prefsdir(), name);
+ p->file = fopen(buf, "wb");
+ if(p->file) {
+ return p;
+ }
+ g_free(p);
+ }
+
+ return NULL;
+}
+
+void
+prefs_close (prefs_node *f)
+{
+ if(f) {
+ fclose(f->file);
+ g_free(f);
+ }
+}
+
+FILE *
+prefs_get_file_pointer (prefs_node *p)
+{
+ if(p) {
+ return p->file;
+ } else {
+ return NULL;
+ }
+}
+
static gboolean
prefs_get_line (FILE *f,
const char *key,
@@ -96,11 +178,16 @@
}
gboolean
-prefs_get_int (FILE *f,
+prefs_get_int (prefs_node *pn,
const char *key,
int *dest)
{
char buf[21];
+ FILE *f;
+
+ if(pn->writemode)
+ return FALSE;
+ f = pn->file;
if(prefs_get_line(f, key, buf, 20)) {
buf[20] = 0;
@@ -112,11 +199,16 @@
}
gboolean
-prefs_get_string (FILE *f,
+prefs_get_string (prefs_node *pn,
const char *key,
char *dest)
{
char buf[128];
+ FILE *f;
+
+ if(pn->writemode)
+ return FALSE;
+ f = pn->file;
if(prefs_get_line(f, key, buf, 127)) {
buf[127] = 0;
@@ -128,17 +220,208 @@
}
void
-prefs_put_int (FILE *f,
+prefs_put_int (prefs_node *pn,
const char *key,
int value)
{
+ FILE *f;
+
+ if(!pn->writemode)
+ return;
+ f = pn->file;
+
fprintf(f, "%s = %d\n", key, value);
}
void
-prefs_put_string (FILE *f,
+prefs_put_string (prefs_node *pn,
const char *key,
const char *value)
{
+ FILE *f;
+
+ if(!pn->writemode)
+ return;
+ f = pn->file;
+
fprintf(f, "%s = %s\n", key, value);
}
+
+#else /* defined(_WIN32) */
+
+/*
+
+ Attention!
+
+ These don't work in their current form; what needs to be done is:
+
+ a, change void* into prefs_node*
+ b, add prefs_get_file_pointer() - if this is used by the caller
+ after opening, use a real file instead of the registry.
+
+ */
+
+
+#include
+#include
+#include
+
+#include
+#include
+
+#define WIN32_LEAN_AND_MEAN
+#include
+
+#include "i18n.h"
+#include "gui-subs.h"
+#include "preferences.h"
+#include "menubar.h"
+#include "scope-group.h"
+#include "track-editor.h"
+#include "errors.h"
+
+void *
+prefs_open_read (const char *name)
+{
+ char buf[256];
+ HKEY hk;
+
+ sprintf(buf, "Software/Soundtracker/Soundtracker/%s", name);
+
+ while(strchr(buf, '/'))
+ *strchr(buf, '/')='\\';
+
+ if(!RegOpenKeyEx(HKEY_LOCAL_MACHINE, buf, 0, KEY_ALL_ACCESS, &hk))
+ hk=0;
+
+ return (void *) hk;
+}
+
+void *
+prefs_open_write (const char *name)
+{
+ char buf[256];
+ HKEY hk;
+ DWORD bla;
+
+ sprintf(buf, "Software/Soundtracker/Soundtracker/%s", name);
+
+ while(strchr(buf, '/'))
+ *strchr(buf, '/')='\\';
+
+ if (!RegCreateKeyEx(HKEY_LOCAL_MACHINE, buf, 0, 0, 0, KEY_ALL_ACCESS, 0, &hk, &bla))
+ hk=0;
+
+ return (void *) hk;
+}
+
+void
+prefs_close (void *node)
+{
+ HKEY hk;
+
+ hk=(HKEY) node;
+
+ RegFlushKey(hk);
+ RegCloseKey(hk);
+}
+
+static int
+prefs_query_reg (HKEY hk,
+ const char *key,
+ char **buf,
+ DWORD *size,
+ DWORD *type)
+{
+ if(RegQueryValueEx(hk, key, 0, type, 0, size)==ERROR_SUCCESS)
+ {
+ *buf=(char *) malloc(*size+1);
+
+ if(RegQueryValueEx(hk, key, 0, type, *buf, size)==ERROR_SUCCESS)
+ return 1;
+ else
+ {
+ free(*buf);
+ return 0;
+ }
+ }
+ else
+ return 0;
+}
+
+static void
+prefs_set_reg (HKEY hk,
+ const char *key,
+ char *buf,
+ DWORD size,
+ DWORD type)
+{
+ RegSetValueEx(hk, key, 0, type, buf, size);
+}
+
+gboolean
+prefs_get_int (void *f,
+ const char *key,
+ int *dest)
+{
+ char *buf;
+ DWORD sz, type;
+ HKEY hk;
+
+ hk=(HKEY) f;
+
+ if(prefs_query_reg(hk, key, &buf, &sz, &type))
+ {
+ if (type==REG_DWORD)
+ {
+ *dest=*((DWORD *) buf);
+ free(buf);
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+gboolean
+prefs_get_string (void *f,
+ const char *key,
+ char *dest)
+{
+ char *buf;
+ DWORD sz, type;
+ HKEY hk;
+
+ hk=(HKEY) f;
+
+ if(prefs_query_reg(hk, key, &buf, &sz, &type))
+ {
+ if (type==REG_SZ)
+ {
+ buf[127]=0;
+ strcpy(dest, buf);
+ free(buf);
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+void
+prefs_put_int (void *f,
+ const char *key,
+ int value)
+{
+ prefs_set_reg((HKEY) f, key, &value, 4, REG_DWORD);
+}
+
+void
+prefs_put_string (void *f,
+ const char *key,
+ const char *value)
+{
+ prefs_set_reg((HKEY) f, key, value, strlen(value+1), REG_SZ);
+}
+
+#endif /* defined(_WIN32) */
diff -urN soundtracker-0.5.7/app/preferences.h soundtracker-0.5.8/app/preferences.h
--- soundtracker-0.5.7/app/preferences.h Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/preferences.h Tue Sep 19 18:18:33 2000
@@ -26,36 +26,37 @@
#include
-void prefs_page_handle_keys (int shift,
- int ctrl,
- int alt,
- guint32 keyval);
-
-int prefs_fragsize_log2 (int fragsize);
-
-char *
-prefs_get_prefsdir (void);
-void
-prefs_check_prefs_dir (void);
-
-/* --- Functions which can be used by the driver modules, for instance: */
-
-void
-prefs_put_int (FILE *f,
- const char *key,
- int value);
-void
-prefs_put_string (FILE *f,
- const char *key,
- const char *value);
-gboolean
-prefs_get_int (FILE *f,
- const char *key,
- int *dest);
-gboolean
-prefs_get_string (FILE *f,
- const char *key,
- char *dest);
+void prefs_page_handle_keys (int shift,
+ int ctrl,
+ int alt,
+ guint32 keyval);
+
+int prefs_fragsize_log2 (int fragsize);
+
+typedef struct prefs_node prefs_node;
+
+prefs_node * prefs_open_read (const char *name);
+prefs_node * prefs_open_write (const char *name);
+void prefs_close (prefs_node *f);
+
+// Use the following function if you need direct access to the preferences file
+// (only directly after opening)
+FILE * prefs_get_file_pointer (prefs_node *p);
+
+// Returns the file location of a configuration node
+const char * prefs_get_filename (const char *name);
+
+void prefs_put_int (prefs_node *f,
+ const char *key,
+ int value);
+void prefs_put_string (prefs_node *f,
+ const char *key,
+ const char *value);
+gboolean prefs_get_int (prefs_node *f,
+ const char *key,
+ int *dest);
+gboolean prefs_get_string (prefs_node *f,
+ const char *key,
+ char *dest);
#endif /* _ST_PREFERENCES_H */
-
diff -urN soundtracker-0.5.7/app/sample-editor.c soundtracker-0.5.8/app/sample-editor.c
--- soundtracker-0.5.7/app/sample-editor.c Tue Aug 15 12:35:48 2000
+++ soundtracker-0.5.8/app/sample-editor.c Fri Aug 25 16:34:26 2000
@@ -131,6 +131,7 @@
static void *copybuffer = NULL;
static int copybufferlen;
+static gboolean copybuffer_treat_as_8bit;
// = Realtime stuff
@@ -966,6 +967,7 @@
oldsample->sample.data + ss * 2,
cutlen * 2);
}
+ copybuffer_treat_as_8bit = oldsample->treat_as_8bit;
}
if(!spliceout)
@@ -1078,6 +1080,7 @@
/* pasting into empty sample */
sample_editor_lock_sample();
sample_editor_init_sample(_(""));
+ oldsample->treat_as_8bit = copybuffer_treat_as_8bit;
sample_editor_unlock_sample();
ss = 0;
update_ie = 1;
@@ -1102,8 +1105,10 @@
16,
16,
copybufferlen);
- st_sample_cutoff_lowest_8_bits(newsample + ss * 2,
- copybufferlen);
+ if(oldsample->treat_as_8bit) {
+ st_sample_cutoff_lowest_8_bits(newsample + ss * 2,
+ copybufferlen);
+ }
memcpy(newsample + (ss + copybufferlen) * 2,
oldsample->sample.data + ss * 2,
(oldsample->sample.length - ss) * 2);
@@ -2037,7 +2042,7 @@
{
int action = (int)data;
double left, right;
- int ss = sampledisplay->sel_start, se = sampledisplay->sel_end;
+ const int ss = sampledisplay->sel_start, se = sampledisplay->sel_end;
int i;
gint16 *p;
@@ -2075,8 +2080,13 @@
*p++ = CLAMP((int)q, -32768, +32767);
}
- xm_set_modified(1);
+ if(current_sample->treat_as_8bit) {
+ st_sample_cutoff_lowest_8_bits(current_sample->sample.data + ss,
+ se - ss);
+ }
+
sample_editor_unlock_sample();
+ xm_set_modified(1);
sample_editor_update();
sample_display_set_selection(sampledisplay, ss, se);
}
diff -urN soundtracker-0.5.7/app/time-buffer.h soundtracker-0.5.8/app/time-buffer.h
--- soundtracker-0.5.7/app/time-buffer.h Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/time-buffer.h Sun Sep 17 17:34:13 2000
@@ -23,7 +23,6 @@
#define _TIME_BUFFER_H
#include
-#include
/* A time buffer is used to store time-discrete player info for use by
the main program -- because of the audio buffer, displaying the
diff -urN soundtracker-0.5.7/app/tips-dialog.c soundtracker-0.5.8/app/tips-dialog.c
--- soundtracker-0.5.7/app/tips-dialog.c Sat Feb 19 11:58:34 2000
+++ soundtracker-0.5.8/app/tips-dialog.c Tue Sep 19 17:22:09 2000
@@ -281,40 +281,32 @@
void
tips_dialog_load_settings (void)
{
- char buf[256];
- FILE *f;
+ prefs_node *f;
- sprintf(buf, "%s/tips", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
+ f = prefs_open_read("tips");
if(f) {
prefs_get_int(f, "show-tips", &show_tips);
prefs_get_int(f, "last-tip", &last_tip);
- fclose(f);
+ prefs_close(f);
}
return;
-
}
void
tips_dialog_save_settings (void)
{
- char buf[256];
- FILE *f;
+ prefs_node *f;
- prefs_check_prefs_dir();
- sprintf(buf, "%s/tips", prefs_get_prefsdir());
-
- f = fopen(buf, "wb");
+ f = prefs_open_write("tips");
if(!f)
return;
last_tip++;
prefs_put_int(f, "show-tips", show_tips);
prefs_put_int(f, "last-tip", last_tip);
-
- fclose(f);
+
+ prefs_close(f);
return;
}
diff -urN soundtracker-0.5.7/app/track-editor.c soundtracker-0.5.8/app/track-editor.c
--- soundtracker-0.5.7/app/track-editor.c Tue Aug 15 17:59:20 2000
+++ soundtracker-0.5.8/app/track-editor.c Tue Sep 19 17:21:15 2000
@@ -656,30 +656,37 @@
if(GTK_TOGGLE_BUTTON(editing_toggle)->active) {
XMNote *note = &t->curpattern->channels[t->cursor_ch][t->patpos];
- if(!shift) {
- switch(t->cursor_item) {
+ if(shift) {
+ note->note = 0;
+ note->instrument = 0;
+ note->volume = 0;
+ note->fxtype = 0;
+ note->fxparam = 0;
+ } else if(ctrl) {
+ note->volume = 0;
+ note->fxtype = 0;
+ note->fxparam = 0;
+ } else if(alt) {
+ note->fxtype = 0;
+ note->fxparam = 0;
+ } else {
+ switch(t->cursor_item) {
case 0: case 1: case 2:
note->note = 0;
note->instrument = 0;
- break;
+ break;
case 3: case 4:
note->volume = 0;
- break;
+ break;
case 5: case 6: case 7:
note->fxtype = 0;
note->fxparam = 0;
- break;
+ break;
default:
g_assert_not_reached();
- break;
+ break;
+ }
}
- } else {
- note->note = 0;
- note->instrument = 0;
- note->volume = 0;
- note->fxtype = 0;
- note->fxparam = 0;
- }
tracker_redraw_current_row(t);
tracker_step_cursor_row(t, gui_get_current_jump_value());
@@ -709,20 +716,22 @@
if(GTK_TOGGLE_BUTTON(editing_toggle)->active) {
XMNote *note;
- if(t->patpos) { --t->patpos;
+ if(t->patpos) {
+ --t->patpos;
for(i = t->patpos; icurpattern->length-1; i++)
t->curpattern->channels[t->cursor_ch][i] = t->curpattern->channels[t->cursor_ch][i+1];
-
- note = &t->curpattern->channels[t->cursor_ch][t->curpattern->length - 1];
- note->note = 0;
- note->instrument = 0;
- note->volume = 0;
- note->fxtype = 0;
- note->fxparam = 0;
-
- tracker_redraw_current_row(t);
- xm->modified = 1;
- handled = TRUE; }
+
+ note = &t->curpattern->channels[t->cursor_ch][t->curpattern->length - 1];
+ note->note = 0;
+ note->instrument = 0;
+ note->volume = 0;
+ note->fxtype = 0;
+ note->fxparam = 0;
+
+ tracker_redraw_current_row(t);
+ xm->modified = 1;
+ handled = TRUE;
+ }
}
break;
@@ -875,6 +884,39 @@
}
void
+track_editor_cmd_mvalue (Tracker *t, gboolean mode)
+{
+ XMNote *note;
+ int nparam, tpos;
+
+ tpos = t->cursor_item;
+
+ if(tpos>=3) {
+ note = &t->curpattern->channels[t->cursor_ch][(t->patpos - gui_get_current_jump_value()) % t->curpattern->length];
+
+ if(tpos<5)
+ nparam = note->volume & 0xf;
+ else
+ nparam = note->fxparam;
+
+ if(mode==TRUE)
+ nparam = (nparam + 1) & 0xff;
+ else
+ nparam = (nparam - 1) & 0xff;
+
+ note = &t->curpattern->channels[t->cursor_ch][t->patpos];
+ if(tpos<5)
+ note->volume |= nparam & 0xf;
+ else
+ note->fxparam = nparam;
+
+ tracker_step_cursor_row(t, gui_get_current_jump_value());
+ xm->modified = 1;
+ tracker_redraw(t);
+ }
+}
+
+void
track_editor_mark_selection (Tracker *t)
{
tracker_mark_selection(t, TRUE);
@@ -990,13 +1032,17 @@
return;
xmnote_mask = 0xff;
break;
- case 0xc0:
- if((note_end->volume & 0xf0) != 0xc0)
+// case 0xc0:
+// if((note_end->volume & 0xf0) != 0xc0)
+// return;
+// xmnote_mask = 0x0f;
+// break;
+ default:
+ if((note_end->volume & 0xf0) != (note_start->volume & 0xf0))
return;
+ /* let's do at least _some_thing */
xmnote_mask = 0x0f;
break;
- default:
- return;
}
} else if(t->cursor_item >= 5) {
@@ -1007,11 +1053,14 @@
return;
switch(note_start->fxtype) {
- case 0xc:
+ // The Axx for example needs special treatment here
+// case 0xc: case 'Z'-'A'+10:
+// xmnote_mask = 0xff;
+// break;
+ default:
+ /* let's do at least _some_thing */
xmnote_mask = 0xff;
break;
- default:
- return;
}
for(i = 1; i < height - 1; i++) {
@@ -1065,7 +1114,7 @@
tracker_redraw_current_row(t);
if(!gui_settings.advance_cursor_in_fx_columns)
- tracker_step_cursor_row(t, 1);
+ tracker_step_cursor_row(t, gui_get_current_jump_value());
else
tracker_step_cursor_item(t, 1);
xm->modified = 1;
@@ -1089,12 +1138,12 @@
tracker_redraw_current_row(t);
if(!gui_settings.advance_cursor_in_fx_columns) {
- tracker_step_cursor_row(t, 1);
+ tracker_step_cursor_row(t, gui_get_current_jump_value());
} else {
if(exp) { /* not at the end */
tracker_step_cursor_item(t, 1);
} else {
- tracker_step_cursor_row(t,1);
+ tracker_step_cursor_row(t, gui_get_current_jump_value());
tracker_step_cursor_item(t, -1);
if(t->cursor_item == 6) /* -2 in case of fx col */
tracker_step_cursor_item(t, -1);
@@ -1127,7 +1176,7 @@
note->fxtype = n;
tracker_redraw_current_row(t);
if(!gui_settings.advance_cursor_in_fx_columns)
- tracker_step_cursor_row(t, 1);
+ tracker_step_cursor_row(t, gui_get_current_jump_value());
else
tracker_step_cursor_item(t, 1);
xm->modified = 1;
@@ -1139,10 +1188,7 @@
switch(t->cursor_item) {
case 1: case 2: /* instrument column */
- if(gui_settings.tracker_hexmode)
- track_editor_handle_hex_column_input(t, 2 - t->cursor_item, ¬e->instrument, n);
- else
- track_editor_handle_semidec_column_input(t, 2 - t->cursor_item, ¬e->instrument, n);
+ track_editor_handle_semidec_column_input(t, 2 - t->cursor_item, ¬e->instrument, n);
break;
case 3: case 4: /* volume column */
track_editor_handle_hex_column_input(t, 4 - t->cursor_item, ¬e->volume, n);
@@ -1207,12 +1253,10 @@
track_editor_load_config (void)
{
char buf[256];
- FILE *f;
+ prefs_node *f;
int i, j;
- sprintf(buf, "%s/jazz", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
+ f = prefs_open_read("jazz");
if(f) {
for(i = 0; i < 32; i++) {
sprintf(buf, "jazz-toggle-%d", i);
@@ -1220,7 +1264,7 @@
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(jazztoggles[i]), j);
}
- fclose(f);
+ prefs_close(f);
}
}
@@ -1228,17 +1272,14 @@
track_editor_save_config (void)
{
char buf[256];
- FILE *f;
+ prefs_node *f;
int i;
if(gui_settings.save_settings_on_exit) {
trackersettings_write_settings();
}
- prefs_check_prefs_dir();
- sprintf(buf, "%s/jazz", prefs_get_prefsdir());
-
- f = fopen(buf, "wb");
+ f = prefs_open_write("jazz");
if(!f)
return;
@@ -1247,5 +1288,5 @@
prefs_put_int(f, buf, GTK_TOGGLE_BUTTON(jazztoggles[i])->active);
}
- fclose(f);
+ prefs_close(f);
}
diff -urN soundtracker-0.5.7/app/track-editor.h soundtracker-0.5.8/app/track-editor.h
--- soundtracker-0.5.7/app/track-editor.h Tue Aug 15 16:55:18 2000
+++ soundtracker-0.5.8/app/track-editor.h Fri Aug 25 16:12:02 2000
@@ -75,4 +75,6 @@
void track_editor_interpolate_fx (Tracker *t);
+void track_editor_cmd_mvalue (Tracker *t, gboolean mode);
+
#endif /* _TRACK_EDITOR_H */
diff -urN soundtracker-0.5.7/app/tracker-settings.c soundtracker-0.5.8/app/tracker-settings.c
--- soundtracker-0.5.7/app/tracker-settings.c Sat Mar 25 10:27:39 2000
+++ soundtracker-0.5.8/app/tracker-settings.c Tue Sep 19 17:35:10 2000
@@ -311,13 +311,13 @@
{
char buf[256];
FILE *f;
+ prefs_node *p;
trackersettings_fontlist = NULL;
- sprintf(buf, "%s/tracker-fonts", prefs_get_prefsdir());
-
- f = fopen(buf, "rb");
- if(f) {
+ p = prefs_open_read("tracker-fonts");
+ if(p) {
+ f = prefs_get_file_pointer(p);
while(!feof(f)) {
buf[0] = 0;
fgets(buf, 255, f);
@@ -327,7 +327,7 @@
trackersettings_fontlist = g_list_append(trackersettings_fontlist, g_strdup(buf));
}
}
- fclose(f);
+ prefs_close(p);
}
if(g_list_length(trackersettings_fontlist) == 0) {
@@ -338,22 +338,22 @@
void
trackersettings_write_settings (void)
{
- char buf[256];
FILE *f;
+ prefs_node *p;
GList *l;
- prefs_check_prefs_dir();
- sprintf(buf, "%s/tracker-fonts", prefs_get_prefsdir());
-
- f = fopen(buf, "wb");
- if(!f)
+ p = prefs_open_write("tracker-fonts");
+ if(!p) {
return;
+ }
+
+ f = prefs_get_file_pointer(p);
for(l = trackersettings_fontlist; l != NULL; l = l->next) {
fprintf(f, "%s\n", (gchar*)l->data);
}
- fclose(f);
+ prefs_close(p);
}
static void
diff -urN soundtracker-0.5.7/app/tracker.c soundtracker-0.5.8/app/tracker.c
--- soundtracker-0.5.7/app/tracker.c Mon Aug 14 12:06:22 2000
+++ soundtracker-0.5.8/app/tracker.c Sun Sep 17 18:26:30 2000
@@ -370,20 +370,15 @@
buf[2] = gui_settings.tracker_line_format[2];
}
- if(gui_settings.tracker_hexmode) {
- buf[3] = ' ';
- buf[4] = hexmap[note->instrument / 16];
- buf[5] = hexmap[note->instrument & 15];
+ // Instrument number always displayed in Dec, because the spin
+ // buttons use Dec as well.
+ if(note->instrument >= 100) {
+ buf[3] = '1';
} else {
- if(note->instrument >= 100) {
- buf[3] = '1';
- } else {
- buf[3] = ' ';
- }
- buf[4] = ((note->instrument / 10) % 10) + '0';
- buf[5] = (note->instrument % 10) + '0';
+ buf[3] = ' ';
}
-
+ buf[4] = ((note->instrument / 10) % 10) + '0';
+ buf[5] = (note->instrument % 10) + '0';
if(!note->instrument) {
buf[4] = gui_settings.tracker_line_format[3];
@@ -504,7 +499,7 @@
}
/* Draw only if in bounds */
- if(xBlock >= t->disp_startx && xBlock < numch * t->disp_chanwidth) {
+ if(xBlock >= t->disp_startx && xBlock < t->disp_startx + numch * t->disp_chanwidth) {
gdk_gc_set_foreground(t->misc_gc, &t->colors[TRACKERCOL_BG_SELECTION]);
gdk_draw_rectangle(win, t->misc_gc, TRUE, xBlock, y, BlockWidth, t->fonth);
}
diff -urN soundtracker-0.5.7/app/xm-player.c soundtracker-0.5.8/app/xm-player.c
--- soundtracker-0.5.7/app/xm-player.c Tue Aug 15 16:17:11 2000
+++ soundtracker-0.5.8/app/xm-player.c Sun Sep 17 17:14:53 2000
@@ -226,7 +226,6 @@
static guint8 globalvol;
static guint8 curtick;
-static guint8 curtempo;
static guint8 tick0;
static int currow, play_only_row;
@@ -252,7 +251,6 @@
static guint8 procvol;
static guint8 proccmd;
static guint8 procdat;
-static int curbpm;
static int realgvol;
@@ -811,7 +809,7 @@
}
curtick++;
- if (curtick>=curtempo)
+ if (curtick>=player_tempo)
curtick=0;
if(player_will_loop) {
@@ -1023,11 +1021,9 @@
break;
}
if (procdat>=0x20) {
- curbpm=procdat;
- player_bpm=curbpm;
+ player_bpm = procdat;
} else {
- curtempo=procdat;
- player_tempo=curtempo;
+ player_tempo = procdat;
}
break;
case xmpCmdMODtTempo:
@@ -1035,8 +1031,7 @@
jumptoord=procdat;
jumptorow=0;
} else {
- curtempo=procdat;
- player_tempo=curtempo;
+ player_tempo = procdat;
}
break;
case xmpCmdGVolume:
@@ -1057,6 +1052,8 @@
break;
case xmpCmdEnvPos:
ch->chVolEnvPos=ch->chPanEnvPos=procdat;
+ if(!ch->curins)
+ break;
if (ch->curins->vol_env.flags & EF_ON)
if (ch->chVolEnvPos > env_length(&ch->curins->vol_env))
ch->chVolEnvPos = env_length(&ch->curins->vol_env);
@@ -1426,8 +1423,8 @@
{
g_assert(xm != NULL);
- curtempo = xm->tempo;
- curbpm = xm->bpm;
+ player_tempo = xm->tempo;
+ player_bpm = xm->bpm;
}
static gboolean
@@ -1450,7 +1447,7 @@
linearfreq = !(xm->flags & XM_FLAGS_AMIGA_FREQ);
nchan = xm->num_channels;
loopord = xm->restart_position;
- curtick = curtempo-1;
+ curtick = player_tempo-1;
patdelay = 0;
for(i = 0; i < nchan; i++) {
@@ -1461,6 +1458,18 @@
return TRUE;
}
+void
+xmplayer_set_tempo (int tempo)
+{
+ player_tempo = tempo;
+}
+
+void
+xmplayer_set_bpm (int bpm)
+{
+ player_bpm = bpm;
+}
+
gboolean
xmplayer_init_play_song (int songpos,
int patpos)
@@ -1617,7 +1626,7 @@
xmpPlayTick();
- current_time += (double)125 / (curbpm * 50);
+ current_time += (double)125 / (player_bpm * 50);
return current_time;
}
@@ -1626,7 +1635,7 @@
{
jumptorow = currow = player_patpos = 0;
jumptoord = curord = player_songpos = songpos;
- curtick = curtempo - 1;
+ curtick = player_tempo - 1;
globalvol = 64;
}
diff -urN soundtracker-0.5.7/app/xm-player.h soundtracker-0.5.8/app/xm-player.h
--- soundtracker-0.5.7/app/xm-player.h Wed May 10 16:14:31 2000
+++ soundtracker-0.5.8/app/xm-player.h Sun Sep 17 16:33:05 2000
@@ -40,5 +40,7 @@
void xmplayer_stop (void);
void xmplayer_set_songpos (int songpos);
void xmplayer_set_pattern (int pattern);
+void xmplayer_set_tempo (int tempo);
+void xmplayer_set_bpm (int bpm);
#endif /* _ST_XMPLAYER_H */
diff -urN soundtracker-0.5.7/app/xm.c soundtracker-0.5.8/app/xm.c
--- soundtracker-0.5.7/app/xm.c Tue Aug 15 18:35:51 2000
+++ soundtracker-0.5.8/app/xm.c Tue Sep 19 16:48:18 2000
@@ -887,7 +887,7 @@
int i, j, num_patterns, num_instruments;
*status = 0;
- f = fopen(filename, "r");
+ f = fopen(filename, "rb");
if(!f) {
error_error(_("Can't open file"));
return NULL;
@@ -991,7 +991,7 @@
guint8 xh[80];
int num_patterns, num_instruments;
- f = fopen(filename, "w");
+ f = fopen(filename, "wb");
if(!f)
return 0;
diff -urN soundtracker-0.5.7/app/xm.h soundtracker-0.5.8/app/xm.h
--- soundtracker-0.5.7/app/xm.h Tue May 16 15:29:53 2000
+++ soundtracker-0.5.8/app/xm.h Mon Sep 18 18:36:00 2000
@@ -108,7 +108,10 @@
STSample samples[16];
} STInstrument;
-/* -- Main structure -- doesn't have much in common with the real layout of an XM file :) */
+/* That the following structure is called 'XM' is a relic from old
+ times, when SoundTracker still loaded the XM file into memory as
+ is; nowadays it is ripped apart and stored in much saner
+ structures, as you can see... */
typedef struct XM {
char name[21];
diff -urN soundtracker-0.5.7/configure soundtracker-0.5.8/configure
--- soundtracker-0.5.7/configure Tue Aug 15 18:09:01 2000
+++ soundtracker-0.5.8/configure Tue Sep 19 18:11:06 2000
@@ -721,7 +721,7 @@
PACKAGE=soundtracker
-VERSION=0.5.7
+VERSION=0.5.8
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
diff -urN soundtracker-0.5.7/configure.in soundtracker-0.5.8/configure.in
--- soundtracker-0.5.7/configure.in Tue Aug 15 18:08:54 2000
+++ soundtracker-0.5.8/configure.in Tue Sep 19 18:06:14 2000
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(app/endian-conv.h)
-AM_INIT_AUTOMAKE(soundtracker, 0.5.7)
+AM_INIT_AUTOMAKE(soundtracker, 0.5.8)
AM_CONFIG_HEADER(config.h)
dnl -----------------------------------------------------------------------
diff -urN soundtracker-0.5.7/doc/hacking.html soundtracker-0.5.8/doc/hacking.html
--- soundtracker-0.5.7/doc/hacking.html Fri Aug 11 18:52:55 2000
+++ soundtracker-0.5.8/doc/hacking.html Tue Sep 19 18:11:22 2000
@@ -1,7 +1,7 @@
+ from hacking.texi on 19 September 2000 -->
SoundTracker internals
@@ -89,6 +89,11 @@
GUI thread in more than one location.
+
+Certain other events are handled through the event waiter interface (see
+event-waiter.h for an overview).
+
+
@@ -288,10 +293,11 @@
to generate a file containing only your changes, and no auto-generated
files.
-Remove the `po' directory patches from the diff (that's what usually
+Remove the `po' directory patches and patches to all auto-generated
-makes the patch unnecessarily large). Or just remove
-the po directories before generating the diff.
+files (Makefile, Makefile.in, configure.log etc.) from the diff (that's
+what usually makes the patch unnecessarily large). Or just remove the po
+directories before generating the diff.
Send the patch to the `soundtracker-discuss' mailing-list, if you
@@ -302,7 +308,7 @@
-This document was generated on 11 August 2000 using the
+This document was generated on 19 September 2000 using the
texi2html
translator version 1.51.
diff -urN soundtracker-0.5.7/doc/hacking.texi soundtracker-0.5.8/doc/hacking.texi
--- soundtracker-0.5.7/doc/hacking.texi Mon Mar 13 14:06:24 2000
+++ soundtracker-0.5.8/doc/hacking.texi Sun Sep 17 18:03:46 2000
@@ -63,6 +63,9 @@
be used here because scope data is continuous and is accessed from the
GUI thread in more than one location.
+Certain other events are handled through the event waiter interface (see
+event-waiter.h for an overview).
+
@node How the audio subsystem works, Driver API, Synchronization of Audio and GUI, Top
@chapter How the audio subsystem works
@@ -211,9 +214,10 @@
to generate a file containing only your changes, and no auto-generated
files.
-@item Remove the `po' directory patches from the diff (that's what usually
-makes the patch unnecessarily large). Or just remove
-the po directories before generating the diff.
+@item Remove the `po' directory patches and patches to all auto-generated
+files (Makefile, Makefile.in, configure.log etc.) from the diff (that's
+what usually makes the patch unnecessarily large). Or just remove the po
+directories before generating the diff.
@item Send the patch to the `soundtracker-discuss' mailing-list, if you
want feedback from other users. If you're
diff -urN soundtracker-0.5.7/doc/hacking.txt soundtracker-0.5.8/doc/hacking.txt
--- soundtracker-0.5.7/doc/hacking.txt Fri Aug 11 18:52:55 2000
+++ soundtracker-0.5.8/doc/hacking.txt Tue Sep 19 18:11:22 2000
@@ -49,6 +49,9 @@
can't be used here because scope data is continuous and is accessed
from the GUI thread in more than one location.
+ Certain other events are handled through the event waiter interface
+(see event-waiter.h for an overview).
+
How the audio subsystem works
*****************************
@@ -195,9 +198,10 @@
to generate a file containing only your changes, and no
auto-generated files.
- * Remove the `po' directory patches from the diff (that's what
- usually makes the patch unnecessarily large). Or just remove the
- po directories before generating the diff.
+ * Remove the `po' directory patches and patches to all auto-generated
+ files (Makefile, Makefile.in, configure.log etc.) from the diff
+ (that's what usually makes the patch unnecessarily large). Or just
+ remove the po directories before generating the diff.
* Send the patch to the `soundtracker-discuss' mailing-list, if you
want feedback from other users. If you're not subscribed, then
diff -urN soundtracker-0.5.7/po/cat-id-tbl.c soundtracker-0.5.8/po/cat-id-tbl.c
--- soundtracker-0.5.7/po/cat-id-tbl.c Tue Aug 15 18:04:43 2000
+++ soundtracker-0.5.8/po/cat-id-tbl.c Mon Sep 18 11:18:45 2000
@@ -83,7 +83,7 @@
{"Scopes Frequency", 55},
{"Tracker Frequency", 56},
{"GUI Configuration", 57},
- {"Use Hexadecimal Numbers", 58},
+ {"Hexadecimal row numbers", 58},
{"Use upper case letters for hex numbers", 59},
{"Advance cursor horizontally in effect columns", 60},
{"Asynchronous Editing", 61},
@@ -209,293 +209,297 @@
{"_Kill notes", 162},
{"_Insert", 163},
{"_Delete", 164},
- {"_Mark mode", 165},
- {"C_lear block marks", 166},
- {"_Interpolate effects", 167},
- {"_Jazz Edit Mode", 168},
- {"Transp_osition...", 169},
- {"_Pattern", 170},
- {"_Track", 171},
- {"_Selection", 172},
- {"_Find Unused Pattern", 173},
- {"_Copy Current to Unused Pattern", 174},
- {"C_lear Unused Patterns", 175},
- {"_Pack Patterns", 176},
- {"_Load XI...", 177},
- {"_Save XI...", 178},
- {"_Clear Current", 179},
- {"_Delete Unused Instruments", 180},
- {"Use _Backing Store", 181},
- {"_Previous font", 182},
- {"_Next font", 183},
- {"Display _Oscilloscopes", 184},
- {"_Tracker", 185},
- {"_Keyboard Configuration...", 186},
- {"_Audio Configuration...", 187},
- {"_GUI Configuration...", 188},
- {"_MIDI Configuration...", 189},
- {"_Save Settings now", 190},
- {"Save Settings on _Exit", 191},
- {"_About...", 192},
- {"Show _Tips...", 193},
- {"_XM Effects...", 194},
- {"_File", 195},
- {"_Module", 196},
- {"_Edit", 197},
- {"_Instrument", 198},
- {"_Settings", 199},
- {"_Help", 200},
- {"/_File", 201},
- {"/File/_Open...", 202},
- {"/File/Save _as...", 203},
- {"/File/-", 204},
- {"/File/Save Module as _WAV...", 205},
- {"/File/Save XM without samples...", 206},
- {"/File/_Quit", 207},
- {"/_Module", 208},
- {"/Module/Clear _All", 209},
- {"/Module/Clear _Patterns Only", 210},
- {"/Module/_Optimize Module", 211},
- {"/_Edit", 212},
- {"/Edit/_Jazz Edit Mode", 213},
- {"/Edit/-", 214},
- {"/Edit/_Transposition...", 215},
- {"/Edit/_Pattern", 216},
- {"/Edit/Pattern/C_ut", 217},
- {"/Edit/Pattern/_Copy", 218},
- {"/Edit/Pattern/_Paste", 219},
- {"/Edit/_Track", 220},
- {"/Edit/Track/C_ut", 221},
- {"/Edit/Track/_Copy", 222},
- {"/Edit/Track/_Paste", 223},
- {"/Edit/Track/_Kill notes", 224},
- {"/Edit/Track/_Insert", 225},
- {"/Edit/Track/_Delete", 226},
- {"/Edit/_Selection", 227},
- {"/Edit/Selection/_Mark mode", 228},
- {"/Edit/Selection/C_lear block marks", 229},
- {"/Edit/Selection/C_ut", 230},
- {"/Edit/Selection/_Copy", 231},
- {"/Edit/Selection/_Paste", 232},
- {"/Edit/Selection/_Interpolate effects", 233},
- {"/_Pattern", 234},
- {"/Pattern/_Find Unused Pattern", 235},
- {"/Pattern/_Copy Current to Unused Pattern", 236},
- {"/Pattern/C_lear Unused Patterns", 237},
- {"/Pattern/_Pack Patterns", 238},
- {"/_Instrument", 239},
- {"/Instrument/_Load XI...", 240},
- {"/Instrument/_Save XI...", 241},
- {"/Instrument/-", 242},
- {"/Instrument/_Clear Current", 243},
- {"/Instrument/_Delete Unused Instruments", 244},
- {"/_Settings", 245},
- {"/Settings/Display _Oscilloscopes", 246},
- {"/Settings/_Tracker", 247},
- {"/Settings/Tracker/Use _Backing Store", 248},
- {"/Settings/Tracker/_Previous font", 249},
- {"/Settings/Tracker/_Next font", 250},
- {"/Settings/-", 251},
- {"/Settings/_Keyboard Configuration...", 252},
- {"/Settings/_Audio Configuration...", 253},
- {"/Settings/_GUI Configuration...", 254},
- {"/Settings/_MIDI Configuration...", 255},
- {"/Settings/_Save Settings now", 256},
- {"/Settings/Save Settings on _Exit", 257},
- {"/_Help", 258},
- {"/Help/_About...", 259},
- {"/Help/-", 260},
- {"/Help/Show _Tips...", 261},
- {"/Help/_XM Effects...", 262},
- {"Instrument Name", 263},
- {"#smpl", 264},
- {"Sample Name", 265},
- {"Linear", 266},
- {"Amiga", 267},
- {"Module Info", 268},
- {"Songname:", 269},
- {"Frequencies:", 270},
- {"ProTracker Mode", 271},
- {"Song length", 272},
- {"Current pos", 273},
- {"Restart pos", 274},
+ {"Increment cmd value", 165},
+ {"Decrement cmd value", 166},
+ {"_Mark mode", 167},
+ {"C_lear block marks", 168},
+ {"_Interpolate effects", 169},
+ {"_Jazz Edit Mode", 170},
+ {"Transp_osition...", 171},
+ {"_Pattern", 172},
+ {"_Track", 173},
+ {"_Selection", 174},
+ {"_Find Unused Pattern", 175},
+ {"_Copy Current to Unused Pattern", 176},
+ {"C_lear Unused Patterns", 177},
+ {"_Pack Patterns", 178},
+ {"_Load XI...", 179},
+ {"_Save XI...", 180},
+ {"_Clear Current", 181},
+ {"_Delete Unused Instruments", 182},
+ {"Use _Backing Store", 183},
+ {"_Previous font", 184},
+ {"_Next font", 185},
+ {"Display _Oscilloscopes", 186},
+ {"_Tracker", 187},
+ {"_Keyboard Configuration...", 188},
+ {"_Audio Configuration...", 189},
+ {"_GUI Configuration...", 190},
+ {"_MIDI Configuration...", 191},
+ {"_Save Settings now", 192},
+ {"Save Settings on _Exit", 193},
+ {"_About...", 194},
+ {"Show _Tips...", 195},
+ {"_XM Effects...", 196},
+ {"_File", 197},
+ {"_Module", 198},
+ {"_Edit", 199},
+ {"_Instrument", 200},
+ {"_Settings", 201},
+ {"_Help", 202},
+ {"/_File", 203},
+ {"/File/_Open...", 204},
+ {"/File/Save _as...", 205},
+ {"/File/-", 206},
+ {"/File/Save Module as _WAV...", 207},
+ {"/File/Save XM without samples...", 208},
+ {"/File/_Quit", 209},
+ {"/_Module", 210},
+ {"/Module/Clear _All", 211},
+ {"/Module/Clear _Patterns Only", 212},
+ {"/Module/_Optimize Module", 213},
+ {"/_Edit", 214},
+ {"/Edit/_Jazz Edit Mode", 215},
+ {"/Edit/-", 216},
+ {"/Edit/_Transposition...", 217},
+ {"/Edit/_Pattern", 218},
+ {"/Edit/Pattern/C_ut", 219},
+ {"/Edit/Pattern/_Copy", 220},
+ {"/Edit/Pattern/_Paste", 221},
+ {"/Edit/_Track", 222},
+ {"/Edit/Track/C_ut", 223},
+ {"/Edit/Track/_Copy", 224},
+ {"/Edit/Track/_Paste", 225},
+ {"/Edit/Track/_Kill notes", 226},
+ {"/Edit/Track/_Insert", 227},
+ {"/Edit/Track/_Delete", 228},
+ {"/Edit/_Selection", 229},
+ {"/Edit/Selection/_Mark mode", 230},
+ {"/Edit/Selection/C_lear block marks", 231},
+ {"/Edit/Selection/C_ut", 232},
+ {"/Edit/Selection/_Copy", 233},
+ {"/Edit/Selection/_Paste", 234},
+ {"/Edit/Selection/_Interpolate effects", 235},
+ {"/Edit/Track/Increment cmd value", 236},
+ {"/Edit/Track/Decrement cmd value", 237},
+ {"/_Pattern", 238},
+ {"/Pattern/_Find Unused Pattern", 239},
+ {"/Pattern/_Copy Current to Unused Pattern", 240},
+ {"/Pattern/C_lear Unused Patterns", 241},
+ {"/Pattern/_Pack Patterns", 242},
+ {"/_Instrument", 243},
+ {"/Instrument/_Load XI...", 244},
+ {"/Instrument/_Save XI...", 245},
+ {"/Instrument/-", 246},
+ {"/Instrument/_Clear Current", 247},
+ {"/Instrument/_Delete Unused Instruments", 248},
+ {"/_Settings", 249},
+ {"/Settings/Display _Oscilloscopes", 250},
+ {"/Settings/_Tracker", 251},
+ {"/Settings/Tracker/Use _Backing Store", 252},
+ {"/Settings/Tracker/_Previous font", 253},
+ {"/Settings/Tracker/_Next font", 254},
+ {"/Settings/-", 255},
+ {"/Settings/_Keyboard Configuration...", 256},
+ {"/Settings/_Audio Configuration...", 257},
+ {"/Settings/_GUI Configuration...", 258},
+ {"/Settings/_MIDI Configuration...", 259},
+ {"/Settings/_Save Settings now", 260},
+ {"/Settings/Save Settings on _Exit", 261},
+ {"/_Help", 262},
+ {"/Help/_About...", 263},
+ {"/Help/-", 264},
+ {"/Help/Show _Tips...", 265},
+ {"/Help/_XM Effects...", 266},
+ {"Instrument Name", 267},
+ {"#smpl", 268},
+ {"Sample Name", 269},
+ {"Linear", 270},
+ {"Amiga", 271},
+ {"Module Info", 272},
+ {"Songname:", 273},
+ {"Frequencies:", 274},
+ {"ProTracker Mode", 275},
+ {"Song length", 276},
+ {"Current pos", 277},
+ {"Restart pos", 278},
{"\
A directory called '.soundtracker' has been created in your\n\
-home directory to store configuration files.\n", 275},
- {"No loop", 276},
- {"PingPong", 277},
- {"8 bits", 278},
- {"16 bits", 279},
- {"Sample Editor", 280},
- {"Volume", 281},
- {"Panning", 282},
- {"Finetune", 283},
- {"Selection:", 284},
- {"None", 285},
- {"All", 286},
- {"Length:", 287},
- {"Set as loop", 288},
- {"RelNote", 289},
- {"Load Sample...", 290},
- {"Save WAV...", 291},
- {"Save region as WAV...", 292},
- {"Save WAV", 293},
- {"Save Region", 294},
- {"Monitor", 295},
- {"Volume Ramp", 296},
- {"Zoom to selection", 297},
- {"Show all", 298},
- {"Zoom in (+50%)", 299},
- {"Zoom out (-50%)", 300},
- {"Reverse", 301},
- {"Cut", 302},
- {"Remove", 303},
- {"Copy", 304},
- {"Paste", 305},
- {"Clear Sample", 306},
- {"(no selection)", 307},
- {"", 308},
- {"Read error.", 309},
- {"Load stereo sample", 310},
+home directory to store configuration files.\n", 279},
+ {"No loop", 280},
+ {"PingPong", 281},
+ {"8 bits", 282},
+ {"16 bits", 283},
+ {"Sample Editor", 284},
+ {"Volume", 285},
+ {"Panning", 286},
+ {"Finetune", 287},
+ {"Selection:", 288},
+ {"None", 289},
+ {"All", 290},
+ {"Length:", 291},
+ {"Set as loop", 292},
+ {"RelNote", 293},
+ {"Load Sample...", 294},
+ {"Save WAV...", 295},
+ {"Save region as WAV...", 296},
+ {"Save WAV", 297},
+ {"Save Region", 298},
+ {"Monitor", 299},
+ {"Volume Ramp", 300},
+ {"Zoom to selection", 301},
+ {"Show all", 302},
+ {"Zoom in (+50%)", 303},
+ {"Zoom out (-50%)", 304},
+ {"Reverse", 305},
+ {"Cut", 306},
+ {"Remove", 307},
+ {"Copy", 308},
+ {"Paste", 309},
+ {"Clear Sample", 310},
+ {"(no selection)", 311},
+ {"", 312},
+ {"Read error.", 313},
+ {"Load stereo sample", 314},
{"\
You have selected a stereo sample!\n\
(SoundTracker can only handle mono samples!)\n\
\n\
-Please choose which channel to load:", 311},
- {"Left", 312},
- {"Mix", 313},
- {"Right", 314},
- {"Load raw sample", 315},
+Please choose which channel to load:", 315},
+ {"Left", 316},
+ {"Mix", 317},
+ {"Right", 318},
+ {"Load raw sample", 319},
{"\
You have selected a sample that is not\n\
in a known format. You can load the raw data now.\n\
\n\
-Please choose a format:", 316},
- {"Wortformat:", 317},
- {"OK", 318},
- {"Can't read sample", 319},
- {"Sample is too long for current mixer module. Loading anyway.", 320},
- {"Can only handle 8 and 16 bit samples with up to 2 channels", 321},
- {"Nothing to save.", 322},
- {"Start sampling", 323},
- {"No sampling driver available", 324},
- {"Sampling Window", 325},
- {"", 326},
- {"Recorded sample is too long for current mixer module. Using it anyway.", 327},
- {"Normalize", 328},
- {"Execute", 329},
- {"Volume Ramping", 330},
- {"Perform linear volume fade on Selection", 331},
- {"Left [%]:", 332},
- {"H", 333},
- {"D", 334},
- {"Right [%]:", 335},
- {"SoundTracker Tip of the day", 336},
- {"Previous Tip", 337},
- {"Next Tip", 338},
- {"Show tip next time", 339},
+Please choose a format:", 320},
+ {"Wortformat:", 321},
+ {"OK", 322},
+ {"Can't read sample", 323},
+ {"Sample is too long for current mixer module. Loading anyway.", 324},
+ {"Can only handle 8 and 16 bit samples with up to 2 channels", 325},
+ {"Nothing to save.", 326},
+ {"Start sampling", 327},
+ {"No sampling driver available", 328},
+ {"Sampling Window", 329},
+ {"", 330},
+ {"Recorded sample is too long for current mixer module. Using it anyway.", 331},
+ {"Normalize", 332},
+ {"Execute", 333},
+ {"Volume Ramping", 334},
+ {"Perform linear volume fade on Selection", 335},
+ {"Left [%]:", 336},
+ {"H", 337},
+ {"D", 338},
+ {"Right [%]:", 339},
+ {"SoundTracker Tip of the day", 340},
+ {"Previous Tip", 341},
+ {"Next Tip", 342},
+ {"Show tip next time", 343},
{"\
Welcome to SoundTracker!\n\
\n\
If you are new to this type of program, you will want to get hold of\n\
-some XM or MOD files first and play with them.", 340},
+some XM or MOD files first and play with them.", 344},
{"\
You can make SoundTracker's edit mode more responsive to keyboard\n\
input by decreasing the mixing buffer size of the \"Editing\" object in\n\
-the Audio Configuration.", 341},
+the Audio Configuration.", 345},
{"\
You can adjust the loop points in the sample editor by holding Shift\n\
-and using the left and right mousebuttons.\n", 342},
+and using the left and right mousebuttons.\n", 346},
{"\
If you want to know more about tracking, and how the various commands\n\
-work, have a look at http://www.united-trackers.org/", 343},
+work, have a look at http://www.united-trackers.org/", 347},
{"\
You can assign samples of an instrument to the individual keys by\n\
activating its sample and then clicking on the keyboard in the\n\
-instrument editor page.", 344},
- {"Arpeggio", 345},
- {"Porta up", 346},
- {"Porta down", 347},
- {"Tone porta", 348},
- {"Vibrato", 349},
- {"Tone porta + Volume slide", 350},
- {"Vibrato + Volume slide", 351},
- {"Tremolo", 352},
- {"Set panning", 353},
- {"Position jump", 354},
- {"Set volume", 355},
- {"Pattern break", 356},
- {"Set tempo/bpm", 357},
- {"Set global volume", 358},
- {"Global volume slide", 359},
- {"Key off", 360},
- {"Set envelop position", 361},
- {"Panning slide", 362},
- {"LP filter resonance", 363},
- {"Multi retrig note", 364},
- {"Tremor", 365},
- {"LP filter cutoff", 366},
- {"Fine porta up", 367},
- {"Fine porta down", 368},
- {"Set gliss control", 369},
- {"Set vibrato control", 370},
- {"Set finetune", 371},
- {"Set loop begin/loop", 372},
- {"Set tremolo control", 373},
- {"Retrig note", 374},
- {"Fine volume slide up", 375},
- {"Fine volume slide down", 376},
- {"Note cut", 377},
- {"Note delay", 378},
- {"Pattern delay", 379},
- {"Volume slide down", 380},
- {"Volume slide up", 381},
- {"Set vibrato speed", 382},
- {"Panning slide left", 383},
- {"Panning slide right", 384},
- {"sine", 385},
- {"ramp down", 386},
- {"square", 387},
- {"Jazz Edit:", 388},
- {"Tracker", 389},
- {"Font list", 390},
- {"Add font", 391},
- {"Delete font", 392},
- {"Apply font", 393},
- {"Up", 394},
- {"Down", 395},
- {"Select font...", 396},
- {"Whole Song", 397},
- {"All Patterns", 398},
- {"Current Pattern", 399},
- {"Current Track", 400},
- {"Current Instrument", 401},
- {"All Instruments", 402},
- {"Half note up", 403},
- {"Half note down", 404},
- {"Octave up", 405},
- {"Octave down", 406},
- {"Exchange 1 <-> 2", 407},
- {"Change 1 -> 2", 408},
- {"Transposition Tools", 409},
- {"Scope of the operation:", 410},
- {"Note Transposition", 411},
- {"Instrument Changing", 412},
- {"Instrument 1:", 413},
- {"Current instrument", 414},
- {"Instrument 2:", 415},
- {"Pattern length out of range: %d.\n", 416},
- {"File is no XI instrument.", 417},
- {"Unknown XI version 0x%x\n", 418},
- {"Invalid vibtype %d, using Sine.\n", 419},
- {"Error while loading patterns.", 420},
- {"Can't open file", 421},
- {"XM header length != 276. Maybe a pre-0.0.12 SoundTracker module? :-)\n", 422},
- {"Error while loading instruments.", 423},
+instrument editor page.", 348},
+ {"Arpeggio", 349},
+ {"Porta up", 350},
+ {"Porta down", 351},
+ {"Tone porta", 352},
+ {"Vibrato", 353},
+ {"Tone porta + Volume slide", 354},
+ {"Vibrato + Volume slide", 355},
+ {"Tremolo", 356},
+ {"Set panning", 357},
+ {"Position jump", 358},
+ {"Set volume", 359},
+ {"Pattern break", 360},
+ {"Set tempo/bpm", 361},
+ {"Set global volume", 362},
+ {"Global volume slide", 363},
+ {"Key off", 364},
+ {"Set envelop position", 365},
+ {"Panning slide", 366},
+ {"LP filter resonance", 367},
+ {"Multi retrig note", 368},
+ {"Tremor", 369},
+ {"LP filter cutoff", 370},
+ {"Fine porta up", 371},
+ {"Fine porta down", 372},
+ {"Set gliss control", 373},
+ {"Set vibrato control", 374},
+ {"Set finetune", 375},
+ {"Set loop begin/loop", 376},
+ {"Set tremolo control", 377},
+ {"Retrig note", 378},
+ {"Fine volume slide up", 379},
+ {"Fine volume slide down", 380},
+ {"Note cut", 381},
+ {"Note delay", 382},
+ {"Pattern delay", 383},
+ {"Volume slide down", 384},
+ {"Volume slide up", 385},
+ {"Set vibrato speed", 386},
+ {"Panning slide left", 387},
+ {"Panning slide right", 388},
+ {"sine", 389},
+ {"ramp down", 390},
+ {"square", 391},
+ {"Jazz Edit:", 392},
+ {"Tracker", 393},
+ {"Font list", 394},
+ {"Add font", 395},
+ {"Delete font", 396},
+ {"Apply font", 397},
+ {"Up", 398},
+ {"Down", 399},
+ {"Select font...", 400},
+ {"Whole Song", 401},
+ {"All Patterns", 402},
+ {"Current Pattern", 403},
+ {"Current Track", 404},
+ {"Current Instrument", 405},
+ {"All Instruments", 406},
+ {"Half note up", 407},
+ {"Half note down", 408},
+ {"Octave up", 409},
+ {"Octave down", 410},
+ {"Exchange 1 <-> 2", 411},
+ {"Change 1 -> 2", 412},
+ {"Transposition Tools", 413},
+ {"Scope of the operation:", 414},
+ {"Note Transposition", 415},
+ {"Instrument Changing", 416},
+ {"Instrument 1:", 417},
+ {"Current instrument", 418},
+ {"Instrument 2:", 419},
+ {"Pattern length out of range: %d.\n", 420},
+ {"File is no XI instrument.", 421},
+ {"Unknown XI version 0x%x\n", 422},
+ {"Invalid vibtype %d, using Sine.\n", 423},
+ {"Error while loading patterns.", 424},
+ {"Can't open file", 425},
+ {"XM header length != 276. Maybe a pre-0.0.12 SoundTracker module? :-)\n", 426},
+ {"Error while loading instruments.", 427},
{"\
Module contains sample(s) that are too long for the current mixer.\n\
-Maximum sample length is %d.", 424},
- {"No FastTracker XM and no supported MOD format!", 425},
+Maximum sample length is %d.", 428},
+ {"No FastTracker XM and no supported MOD format!", 429},
};
-int _msg_tbl_length = 425;
+int _msg_tbl_length = 429;
Binary files soundtracker-0.5.7/po/de.gmo and soundtracker-0.5.8/po/de.gmo differ
diff -urN soundtracker-0.5.7/po/de.po soundtracker-0.5.8/po/de.po
--- soundtracker-0.5.7/po/de.po Tue Aug 15 18:36:15 2000
+++ soundtracker-0.5.8/po/de.po Tue Sep 19 18:20:26 2000
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: soundtracker-0.3.3\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: 1999-09-21 23:00+02:00\n"
"Last-Translator: Colin Marquardt \n"
"Language-Team: German \n"
@@ -53,7 +53,7 @@
msgid "Mixers"
msgstr "Modifizierer:"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr "Schlieъen"
@@ -74,12 +74,12 @@
msgstr "Diese дnderungen werden erst beim nДchsten Neustart wirksam."
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "AuflЖsung:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "KanДle:"
@@ -154,7 +154,7 @@
msgid "no settings (yet), sorry!"
msgstr "Keine Einstellungen (zur Zeit), sorry!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr "Kann Datei nicht zum Schreiben Жffnen."
@@ -181,31 +181,31 @@
"Konnte /dev/dsp nicht zur Soundausgabe Жffnen:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "LДnge"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "Aktuell"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "Offset"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "Wert"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "EinfЭgen"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "LЖschen"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -219,23 +219,23 @@
"nur in der\n"
"GNOME-Version"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "Sustain"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "Punkt"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "Loop"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "Anfang"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "Ende"
@@ -258,7 +258,7 @@
msgid "Save Song"
msgstr "Spiele Song"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr "Lade Sample"
@@ -286,69 +286,70 @@
msgid "Operation not supported."
msgstr ""
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "Scope-Frequenz"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "Tracker-Frequenz"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "GUI-Konfiguration"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "Verwende hexadezimale Zahlen"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr ""
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
#, fuzzy
msgid "Advance cursor horizontally in effect columns"
msgstr "Lasse Cursor in FX-Spalten mitlaufen"
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr ""
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr ""
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "Verwende Antialiasing im HЭllkurven-Editor"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr ""
"Sie mЭssen SoundTracker neustarten, damit diese дnderungen wirksam werden."
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "PuffergrЖъe der Scopes [MB]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr ""
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "`Speichere XM' speichert alle nicht-leeren Pattern"
@@ -440,8 +441,8 @@
msgid "Question"
msgstr "Frage"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "Abbrechen"
@@ -457,7 +458,7 @@
msgid "Tempo"
msgstr "Tempo"
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -465,68 +466,68 @@
"Sind Sie sicher, daъ Sie das aktuelle Projekt schlieъen wollen?\n"
"Alle дnderungen gehen verloren!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "Sind sie sicher, daъ Sie die Datei Эberschreiben wollen?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "Lade XM..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "Speichere XM..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr ""
-#: app/gui.c:1289
+#: app/gui.c:1295
#, fuzzy
msgid "Save song as XM..."
msgstr "Speichere WAV..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "Spiele Song"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "Spiele Pattern"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "Stop"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "Anzahl der KanДle:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "Pattern"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "PatLДnge"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "Oktave"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "Springe"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Instr"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "Sample"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -608,17 +609,17 @@
msgid "Initialize"
msgstr "Initialisieren"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr ""
"Die Taste, die die spezielle keyoff-Note fЭr FastTracker-Module einfЭgt."
-#: app/keys.c:136
+#: app/keys.c:139
#, fuzzy
msgid "Upper Octave Keys..."
msgstr "Tasten fЭr obere Oktave..."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -628,12 +629,12 @@
"normalerweise rechts neben der TAB-Taste. Die restlichen Tasten sind in der "
"Art einer Klaviertastatur angeordnet, inklusive der Zifferntasten darЭber."
-#: app/keys.c:143
+#: app/keys.c:146
#, fuzzy
msgid "Lower Octave Keys..."
msgstr "Taste fЭr untere Oktave..."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -644,48 +645,48 @@
"restlichen Tasten sind in der Art einer Klaviertastatur angeordnet, "
"inklusive der Tastenreihe darЭber."
-#: app/keys.c:150
+#: app/keys.c:153
#, fuzzy
msgid "Other Keys..."
msgstr "Andere Tasten..."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "Verschiedene andere Tasten"
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "Funktion"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "Zuordnung"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "Tastatur-Konfiguration"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "Tastengruppen-ErklДrung"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "TastenerklДrung"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "Modifizierer:"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "Lerne gewДhlte Taste"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr "Lerne alle Tasten"
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
@@ -693,15 +694,15 @@
"Bitte drЭcken Sie die gewЭnschte Tastenkombination!\n"
"Klicken Sie in die linke Liste, um abzubrechen"
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr "OK"
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr ""
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
@@ -709,7 +710,7 @@
"Die Datei fЭr die Tastaturkonfiguration ist fehlerhaft.\n"
"Bitte verwenden Sie den Dialog fЭr die Tastatur-Konfiguration."
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -735,534 +736,552 @@
"Sind Sie sicher, daъ Sie das Programm beenden wollen?\n"
"Alle дnderungen gehen verloren!"
-#: app/menubar.c:267
+#: app/menubar.c:280
#, fuzzy
msgid "_Open..."
msgstr "ж_ffnen..."
-#: app/menubar.c:269
+#: app/menubar.c:282
#, fuzzy
msgid "Save _as..."
msgstr "Speichern _unter..."
-#: app/menubar.c:275
+#: app/menubar.c:288
#, fuzzy
msgid "Save Module as _WAV..."
msgstr "Speichere WAV..."
-#: app/menubar.c:277
+#: app/menubar.c:290
#, fuzzy
msgid "Save XM without samples..."
msgstr "Lade Sample"
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr "_Beenden"
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr "_Alles lЖschen"
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr "Nur _Pattern lЖschen"
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr "Modul _optimieren"
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr "_Ausschneiden"
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr "_Kopieren"
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr "E_infЭgen"
-#: app/menubar.c:317
+#: app/menubar.c:330
#, fuzzy
msgid "_Kill notes"
msgstr "/Bearbeiten/Track/E_infЭgen"
-#: app/menubar.c:319
+#: app/menubar.c:332
#, fuzzy
msgid "_Insert"
msgstr "EinfЭgen"
-#: app/menubar.c:321
+#: app/menubar.c:334
#, fuzzy
msgid "_Delete"
msgstr "LЖschen"
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
#, fuzzy
msgid "_Mark mode"
msgstr "_Markieren"
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
#, fuzzy
msgid "C_lear block marks"
msgstr "LЖschen"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr "_Jazz-Edit-Modus"
-#: app/menubar.c:351
+#: app/menubar.c:368
#, fuzzy
msgid "Transp_osition..."
msgstr "_Transposition..."
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr "_Pattern"
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr "_Track"
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr "_Auswahl"
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr "_Finde unbenutztes Pattern"
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr "_Kopiere aktuelles zu unbenutztem Pattern"
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr "_LЖsche unbenutzte Pattern"
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr "_Packe Pattern"
-#: app/menubar.c:399
+#: app/menubar.c:416
#, fuzzy
msgid "_Load XI..."
msgstr "_Lade XI..."
-#: app/menubar.c:401
+#: app/menubar.c:418
#, fuzzy
msgid "_Save XI..."
msgstr "Speichere XM..."
-#: app/menubar.c:406
+#: app/menubar.c:423
#, fuzzy
msgid "_Clear Current"
msgstr "Aktuell"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr "LЖsche unbenutzte _Instrumente"
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr "Verwende _Backing Store"
-#: app/menubar.c:421
+#: app/menubar.c:438
#, fuzzy
msgid "_Previous font"
msgstr "Vorheriger Tip"
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr ""
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr "Zeige _Oszilloskope"
-#: app/menubar.c:434
+#: app/menubar.c:451
#, fuzzy
msgid "_Tracker"
msgstr "_Track"
-#: app/menubar.c:438
+#: app/menubar.c:455
#, fuzzy
msgid "_Keyboard Configuration..."
msgstr "_Tastatur-Konfiguration..."
-#: app/menubar.c:440
+#: app/menubar.c:457
#, fuzzy
msgid "_Audio Configuration..."
msgstr "_Audio-Konfiguration..."
-#: app/menubar.c:442
+#: app/menubar.c:459
#, fuzzy
msgid "_GUI Configuration..."
msgstr "_GUI-Konfiguration..."
-#: app/menubar.c:448
+#: app/menubar.c:465
#, fuzzy
msgid "_MIDI Configuration..."
msgstr "_GUI-Konfiguration..."
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr "_Speichere Einstellungen jetzt"
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr "Speichere Einstellungen beim _Verlassen"
-#: app/menubar.c:462
+#: app/menubar.c:479
#, fuzzy
msgid "_About..."
msgstr "э_ber..."
-#: app/menubar.c:467
+#: app/menubar.c:484
#, fuzzy
msgid "Show _Tips..."
msgstr "Zeige _Tips..."
-#: app/menubar.c:469
+#: app/menubar.c:486
#, fuzzy
msgid "_XM Effects..."
msgstr "_XM-Effekte..."
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr "_Datei"
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr "_Modul"
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr "_Bearbeiten"
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr "_Instrument"
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr "_Einstellungen"
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr "_Hilfe"
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr "/_Datei"
-#: app/menubar.c:520
+#: app/menubar.c:537
#, fuzzy
msgid "/File/_Open..."
msgstr "/Datei/ж_ffnen..."
-#: app/menubar.c:521
+#: app/menubar.c:538
#, fuzzy
msgid "/File/Save _as..."
msgstr "/Datei/Speichern _unter..."
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr "/Datei/-"
-#: app/menubar.c:523
+#: app/menubar.c:540
#, fuzzy
msgid "/File/Save Module as _WAV..."
msgstr "/Datei/Speichern _unter..."
-#: app/menubar.c:524
+#: app/menubar.c:541
#, fuzzy
msgid "/File/Save XM without samples..."
msgstr "/Datei/Speichern _unter..."
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr "/Datei/_Beenden"
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr "/_Modul"
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr "/Modul/LЖsche _alle"
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr "/Modul/LЖsche nur _Pattern"
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr "/Modul/_Optimiere Modul"
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr "/_Bearbeiten"
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr "/Bearbeiten/_Jazz-Edit-Mode"
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr "/Bearbeiten/-"
-#: app/menubar.c:534
+#: app/menubar.c:551
#, fuzzy
msgid "/Edit/_Transposition..."
msgstr "/Bearbeiten/_Transposition..."
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr "/Bearbeiten/_Pattern"
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr "/Bearbeiten/Pattern/_Ausschneiden"
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr "/Bearbeiten/Pattern/_Kopieren"
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr "/Bearbeiten/Pattern/E_infЭgen"
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr "/Bearbeiten/_Track"
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr "/Bearbeiten/Track/_Ausschneiden"
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr "/Bearbeiten/Track/_Kopieren"
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr "/Bearbeiten/Track/E_infЭgen"
-#: app/menubar.c:544
+#: app/menubar.c:561
#, fuzzy
msgid "/Edit/Track/_Kill notes"
msgstr "/Bearbeiten/Track/E_infЭgen"
-#: app/menubar.c:545
+#: app/menubar.c:562
#, fuzzy
msgid "/Edit/Track/_Insert"
msgstr "/Bearbeiten/Track/E_infЭgen"
-#: app/menubar.c:546
+#: app/menubar.c:563
#, fuzzy
msgid "/Edit/Track/_Delete"
msgstr "/Bearbeiten/Track/E_infЭgen"
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr "/Bearbeiten/_Auswahl"
-#: app/menubar.c:548
+#: app/menubar.c:565
#, fuzzy
msgid "/Edit/Selection/_Mark mode"
msgstr "/Bearbeiten/Auswahl/_Markieren"
-#: app/menubar.c:549
+#: app/menubar.c:566
#, fuzzy
msgid "/Edit/Selection/C_lear block marks"
msgstr "/Bearbeiten/Auswahl/_Markieren"
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr "/Bearbeiten/Auswahl/_Ausschneiden"
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr "/Bearbeiten/Auswahl/_Kopieren"
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr "/Bearbeiten/Auswahl/E_infЭgen"
-#: app/menubar.c:553
+#: app/menubar.c:570
#, fuzzy
msgid "/Edit/Selection/_Interpolate effects"
msgstr "/Bearbeiten/Auswahl/E_infЭgen"
-#: app/menubar.c:554
+#: app/menubar.c:571
+#, fuzzy
+msgid "/Edit/Track/Increment cmd value"
+msgstr "/Bearbeiten/Track/E_infЭgen"
+
+#: app/menubar.c:572
+#, fuzzy
+msgid "/Edit/Track/Decrement cmd value"
+msgstr "/Bearbeiten/Track/E_infЭgen"
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr "/_Pattern"
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr "/Pattern/_Finde unbenutztes Pattern"
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr "/Pattern/_Kopiere aktuelles zu unbenutztem Pattern"
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr "/Pattern/_LЖsche unbenutzte Pattern"
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr "/Pattern/_Packe Pattern"
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr "/_Instrument"
-#: app/menubar.c:560
+#: app/menubar.c:579
#, fuzzy
msgid "/Instrument/_Load XI..."
msgstr "/Instrument/_Lade XI..."
-#: app/menubar.c:561
+#: app/menubar.c:580
#, fuzzy
msgid "/Instrument/_Save XI..."
msgstr "/Instrument/_Lade XI..."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr "/Instrument/-"
-#: app/menubar.c:563
+#: app/menubar.c:582
#, fuzzy
msgid "/Instrument/_Clear Current"
msgstr "/Instrument/_LЖsche unbenutzte Instrumente"
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr "/Instrument/_LЖsche unbenutzte Instrumente"
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr "/_Einstellungen"
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr "/Einstellungen/Zeige _Oszilloskope"
-#: app/menubar.c:568
+#: app/menubar.c:587
#, fuzzy
msgid "/Settings/_Tracker"
msgstr "/Einstellungen/-"
-#: app/menubar.c:569
+#: app/menubar.c:588
#, fuzzy
msgid "/Settings/Tracker/Use _Backing Store"
msgstr "/Einstellungen/Verwende _Backing Store"
-#: app/menubar.c:570
+#: app/menubar.c:589
#, fuzzy
msgid "/Settings/Tracker/_Previous font"
msgstr "/Einstellungen/Speichere Einstellungen beim Verlassen"
-#: app/menubar.c:571
+#: app/menubar.c:590
#, fuzzy
msgid "/Settings/Tracker/_Next font"
msgstr "/Einstellungen/Speichere Einstellungen beim Verlassen"
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr "/Einstellungen/-"
-#: app/menubar.c:573
+#: app/menubar.c:592
#, fuzzy
msgid "/Settings/_Keyboard Configuration..."
msgstr "/Einstellungen/_Tastatur-Konfiguration..."
-#: app/menubar.c:574
+#: app/menubar.c:593
#, fuzzy
msgid "/Settings/_Audio Configuration..."
msgstr "/Einstellungen/_Audio-Konfiguration..."
-#: app/menubar.c:575
+#: app/menubar.c:594
#, fuzzy
msgid "/Settings/_GUI Configuration..."
msgstr "/Einstellungen/_GUI-Konfiguration..."
-#: app/menubar.c:576
+#: app/menubar.c:595
#, fuzzy
msgid "/Settings/_MIDI Configuration..."
msgstr "/Einstellungen/_GUI-Konfiguration..."
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr "/Einstellungen/_Speichere Einstellungen jetzt"
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr "/Einstellungen/Speichere Einstellungen beim _Verlassen"
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr "/_Hilfe"
-#: app/menubar.c:581
+#: app/menubar.c:600
#, fuzzy
msgid "/Help/_About..."
msgstr "/Hilfe/э_ber..."
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr "/Hilfe/-"
-#: app/menubar.c:583
+#: app/menubar.c:602
#, fuzzy
msgid "/Help/Show _Tips..."
msgstr "/Hilfe/Zeige _Tips..."
-#: app/menubar.c:584
+#: app/menubar.c:603
#, fuzzy
msgid "/Help/_XM Effects..."
msgstr "/Hilfe/_XM-Effekte..."
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr "Instrumentenname"
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr "#smpl"
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr "Samplename"
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr "Linear"
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr "Amiga"
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr "Modul-Info"
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr "Songname:"
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr "Frequenzen:"
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr "ProTracker-Modus"
@@ -1278,7 +1297,7 @@
msgid "Restart pos"
msgstr "Restart-Pos"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
@@ -1286,157 +1305,157 @@
"Ein Verzeichnis namens '.soundtracker' wurde in Ihrem Home-Verzeichnis \n"
"angelegt, um Konfigurationsdateien darin zu speichern.\n"
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr "Keine Loop"
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr "PingPong"
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr "8 Bits"
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr "16 Bits"
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr "Sample-Editor"
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr "LautstДrke"
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr "Balance"
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr "Feineinstellung"
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
#, fuzzy
msgid "Selection:"
msgstr "_Auswahl"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
#, fuzzy
msgid "None"
msgstr "Note:"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr ""
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
#, fuzzy
msgid "Length:"
msgstr "LДnge"
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
msgid "Set as loop"
msgstr ""
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr "RelNote"
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
#, fuzzy
msgid "Load Sample..."
msgstr "Lade Sample..."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
#, fuzzy
msgid "Save WAV..."
msgstr "Speichere WAV..."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
#, fuzzy
msgid "Save region as WAV..."
msgstr "Speichere WAV..."
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr "Speichere WAV"
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr ""
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr "Monitor"
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr "LautstДrke"
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr "Zoom in Auswahl"
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr "Zeige alles"
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr "Zoom in (+50%)"
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr "Zoom out (-50%)"
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
#, fuzzy
msgid "Reverse"
msgstr "Entfernen"
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr "Ausschneiden"
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr "Entfernen"
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr "Kopieren"
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr "EinfЭgen"
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
#, fuzzy
msgid "Clear Sample"
msgstr "Lade Sample"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
#, fuzzy
msgid "(no selection)"
msgstr "Zoom in Auswahl"
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr ""
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr "Lesefehler."
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
#, fuzzy
msgid "Load stereo sample"
msgstr "Lade Sample"
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1444,26 +1463,26 @@
"Please choose which channel to load:"
msgstr ""
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
#, fuzzy
msgid "Left"
msgstr "Links [%]:"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr ""
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
#, fuzzy
msgid "Right"
msgstr "Rechts [%]:"
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
#, fuzzy
msgid "Load raw sample"
msgstr "Lade Sample"
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1471,82 +1490,82 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr "OK"
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr "Kann Sample nicht lesen"
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr "Sample ist zu lang fЭr aktuelles Mixer-Modul. Lade trotzdem."
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
#, fuzzy
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr "Kann nur mono- 8 und 16 Bit Samples verarbeiten"
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr ""
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr "Starte Sampling"
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr ""
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr "Sampling-Fenster"
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr ""
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
"Aufgezeichnetes Sample ist zu lang fЭr aktuelles Mixer-Modul. Verwende es "
"trotzdem."
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr "Normalisieren"
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr "AusfЭhren"
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr "LautstДrke-Anpassung"
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr "Lineare LautstДrkenverringerung auf Markierung"
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr "Links [%]:"
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr "Rechts [%]:"
Binary files soundtracker-0.5.7/po/es.gmo and soundtracker-0.5.8/po/es.gmo differ
diff -urN soundtracker-0.5.7/po/es.po soundtracker-0.5.8/po/es.po
--- soundtracker-0.5.7/po/es.po Tue Aug 15 18:36:15 2000
+++ soundtracker-0.5.8/po/es.po Tue Sep 19 18:20:26 2000
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: 1999-10-02 23:58+0200\n"
"Last-Translator: German Gomez >\n"
"Language-Team: Spanish \n"
@@ -54,7 +54,7 @@
msgid "Mixers"
msgstr "Modificadores"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr ""
@@ -75,12 +75,12 @@
msgstr "Estos cambios no tendrАn efecto hasta la prСxima reproducciСn"
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "ResoluciСn:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "Canales:"
@@ -157,7 +157,7 @@
msgid "no settings (yet), sorry!"
msgstr "no hay preferencias (todavМa), ║lo siento!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr ""
@@ -184,31 +184,31 @@
"No se pudo abrir /dev/dsp para salida de sonido:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "Longitud"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "Actual"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "Desplazamiento"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "Valor"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "Insertar"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "Eliminar"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -222,23 +222,23 @@
"solo en la\n"
"Version GNOME"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "Sostenido"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "Punto"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "Ciclo"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "Comienzo"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "Final"
@@ -260,7 +260,7 @@
msgid "Save Song"
msgstr "Reproducir Cancion"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr ""
@@ -287,68 +287,69 @@
msgid "Operation not supported."
msgstr ""
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "Frecuencia de los osciloscopios"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "Frecuencia del Tracker"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "Configuracion del GUI"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "Usar nЗmeros hexadecimales"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr ""
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
#, fuzzy
msgid "Advance cursor horizontally in effect columns"
msgstr "Avanzar el cursor en las columnas de efectos"
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr ""
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr ""
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "Usar antialias en el editor de envolvente"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr "Necesita reinicar SoundTracker para que este cambio tenga efecto"
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "TamaЯo del buffer para los osciloscopios [MB]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr "Iluminar filas:"
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "Guardar XM' guarda todos los patrones no vacios"
@@ -432,8 +433,8 @@
msgid "Question"
msgstr "Pregunta"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "Cancelar"
@@ -449,7 +450,7 @@
msgid "Tempo"
msgstr ""
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -457,68 +458,68 @@
"©Seguro que quiere descartar el projecto actual?\n"
"║Se perderan todos los cambios!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "©Seguro que quiere sobrescribir el fichero?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "Abrir XM..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "Guardar XM..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr ""
-#: app/gui.c:1289
+#: app/gui.c:1295
#, fuzzy
msgid "Save song as XM..."
msgstr "Guardar XM..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "Reproducir Cancion"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "Reproducir PatrСn"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "Parar"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "NЗmero de Canales:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "PatrСn"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "Longitud del PatrСn"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "Octava"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "Saltar"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Instrumento"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "Muestra"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -600,16 +601,16 @@
msgid "Initialize"
msgstr "Inicialicar"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr "La tecla que inserta la nota special 'keyoff' en modulos FastTracker."
-#: app/keys.c:136
+#: app/keys.c:139
#, fuzzy
msgid "Upper Octave Keys..."
msgstr "Teclas de la Octava Superior.."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -620,12 +621,12 @@
"deberМan estarordenadas de la misma forma que en un piano, incluyendo la "
"fila nЗmerica."
-#: app/keys.c:143
+#: app/keys.c:146
#, fuzzy
msgid "Lower Octave Keys..."
msgstr "Teclas de la Octava Inferior.."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -636,68 +637,68 @@
"deberМan estarordenadas de la misma forma que en un piano, incluyendo la "
"fila nЗmerica."
-#: app/keys.c:150
+#: app/keys.c:153
#, fuzzy
msgid "Other Keys..."
msgstr "Otras Teclas.."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "Varias teclas adicionales"
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "FunciСn"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "AsignaciСn"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "ConfiguraciСn del Teclado"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "InformaciСn sobre el Grupo de Teclas"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "InformaciСn sobre la tecla"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "Modificadores"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "Aprender la tecla seleccionada"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr ""
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
msgstr ""
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr ""
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr ""
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
msgstr ""
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -716,504 +717,520 @@
"All changes will be lost!"
msgstr ""
-#: app/menubar.c:267
+#: app/menubar.c:280
msgid "_Open..."
msgstr ""
-#: app/menubar.c:269
+#: app/menubar.c:282
#, fuzzy
msgid "Save _as..."
msgstr "Guardar XM..."
-#: app/menubar.c:275
+#: app/menubar.c:288
msgid "Save Module as _WAV..."
msgstr ""
-#: app/menubar.c:277
+#: app/menubar.c:290
msgid "Save XM without samples..."
msgstr ""
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr ""
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr ""
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr ""
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr ""
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr ""
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr ""
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr ""
-#: app/menubar.c:317
+#: app/menubar.c:330
msgid "_Kill notes"
msgstr ""
-#: app/menubar.c:319
+#: app/menubar.c:332
#, fuzzy
msgid "_Insert"
msgstr "Insertar"
-#: app/menubar.c:321
+#: app/menubar.c:334
#, fuzzy
msgid "_Delete"
msgstr "Eliminar"
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
msgid "_Mark mode"
msgstr ""
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
#, fuzzy
msgid "C_lear block marks"
msgstr "Muestra"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr ""
-#: app/menubar.c:351
+#: app/menubar.c:368
msgid "Transp_osition..."
msgstr ""
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr ""
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr ""
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr ""
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr ""
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr ""
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr ""
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr ""
-#: app/menubar.c:399
+#: app/menubar.c:416
#, fuzzy
msgid "_Load XI..."
msgstr "Abrir XM..."
-#: app/menubar.c:401
+#: app/menubar.c:418
#, fuzzy
msgid "_Save XI..."
msgstr "Guardar XM..."
-#: app/menubar.c:406
+#: app/menubar.c:423
#, fuzzy
msgid "_Clear Current"
msgstr "Actual"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr ""
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr ""
-#: app/menubar.c:421
+#: app/menubar.c:438
msgid "_Previous font"
msgstr ""
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr ""
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr ""
-#: app/menubar.c:434
+#: app/menubar.c:451
msgid "_Tracker"
msgstr ""
-#: app/menubar.c:438
+#: app/menubar.c:455
#, fuzzy
msgid "_Keyboard Configuration..."
msgstr "ConfiguraciСn del Teclado"
-#: app/menubar.c:440
+#: app/menubar.c:457
#, fuzzy
msgid "_Audio Configuration..."
msgstr "ConfiguraciСn de Audio"
-#: app/menubar.c:442
+#: app/menubar.c:459
#, fuzzy
msgid "_GUI Configuration..."
msgstr "Configuracion del GUI"
-#: app/menubar.c:448
+#: app/menubar.c:465
#, fuzzy
msgid "_MIDI Configuration..."
msgstr "Configuracion del GUI"
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr ""
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr ""
-#: app/menubar.c:462
+#: app/menubar.c:479
msgid "_About..."
msgstr ""
-#: app/menubar.c:467
+#: app/menubar.c:484
msgid "Show _Tips..."
msgstr ""
-#: app/menubar.c:469
+#: app/menubar.c:486
msgid "_XM Effects..."
msgstr ""
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr ""
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr ""
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr ""
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr ""
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr ""
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr ""
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr ""
-#: app/menubar.c:520
+#: app/menubar.c:537
msgid "/File/_Open..."
msgstr ""
-#: app/menubar.c:521
+#: app/menubar.c:538
msgid "/File/Save _as..."
msgstr ""
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr ""
-#: app/menubar.c:523
+#: app/menubar.c:540
msgid "/File/Save Module as _WAV..."
msgstr ""
-#: app/menubar.c:524
+#: app/menubar.c:541
msgid "/File/Save XM without samples..."
msgstr ""
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr ""
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr ""
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr ""
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr ""
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr ""
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr ""
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr ""
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr ""
-#: app/menubar.c:534
+#: app/menubar.c:551
msgid "/Edit/_Transposition..."
msgstr ""
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr ""
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr ""
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr ""
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr ""
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr ""
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr ""
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr ""
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr ""
-#: app/menubar.c:544
+#: app/menubar.c:561
msgid "/Edit/Track/_Kill notes"
msgstr ""
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr ""
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr ""
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr ""
-#: app/menubar.c:548
+#: app/menubar.c:565
msgid "/Edit/Selection/_Mark mode"
msgstr ""
-#: app/menubar.c:549
+#: app/menubar.c:566
msgid "/Edit/Selection/C_lear block marks"
msgstr ""
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr ""
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr ""
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr ""
-#: app/menubar.c:553
+#: app/menubar.c:570
msgid "/Edit/Selection/_Interpolate effects"
msgstr ""
-#: app/menubar.c:554
+#: app/menubar.c:571
+msgid "/Edit/Track/Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:572
+msgid "/Edit/Track/Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr ""
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr ""
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr ""
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr ""
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr ""
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr ""
-#: app/menubar.c:560
+#: app/menubar.c:579
#, fuzzy
msgid "/Instrument/_Load XI..."
msgstr "Abrir Instrumento.."
-#: app/menubar.c:561
+#: app/menubar.c:580
#, fuzzy
msgid "/Instrument/_Save XI..."
msgstr "Abrir Instrumento.."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr ""
-#: app/menubar.c:563
+#: app/menubar.c:582
msgid "/Instrument/_Clear Current"
msgstr ""
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr ""
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr ""
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr ""
-#: app/menubar.c:568
+#: app/menubar.c:587
msgid "/Settings/_Tracker"
msgstr ""
-#: app/menubar.c:569
+#: app/menubar.c:588
msgid "/Settings/Tracker/Use _Backing Store"
msgstr ""
-#: app/menubar.c:570
+#: app/menubar.c:589
msgid "/Settings/Tracker/_Previous font"
msgstr ""
-#: app/menubar.c:571
+#: app/menubar.c:590
msgid "/Settings/Tracker/_Next font"
msgstr ""
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr ""
-#: app/menubar.c:573
+#: app/menubar.c:592
#, fuzzy
msgid "/Settings/_Keyboard Configuration..."
msgstr "ConfiguraciСn del Teclado"
-#: app/menubar.c:574
+#: app/menubar.c:593
#, fuzzy
msgid "/Settings/_Audio Configuration..."
msgstr "ConfiguraciСn de Audio"
-#: app/menubar.c:575
+#: app/menubar.c:594
#, fuzzy
msgid "/Settings/_GUI Configuration..."
msgstr "Configuracion del GUI"
-#: app/menubar.c:576
+#: app/menubar.c:595
#, fuzzy
msgid "/Settings/_MIDI Configuration..."
msgstr "Configuracion del GUI"
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr ""
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr ""
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr ""
-#: app/menubar.c:581
+#: app/menubar.c:600
msgid "/Help/_About..."
msgstr ""
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr ""
-#: app/menubar.c:583
+#: app/menubar.c:602
msgid "/Help/Show _Tips..."
msgstr ""
-#: app/menubar.c:584
+#: app/menubar.c:603
msgid "/Help/_XM Effects..."
msgstr ""
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr ""
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr ""
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr ""
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr ""
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr ""
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr ""
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr ""
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr ""
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr ""
@@ -1229,159 +1246,159 @@
msgid "Restart pos"
msgstr "Poscion para recomenzar"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
msgstr ""
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr ""
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr ""
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr ""
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr ""
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr ""
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr ""
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr ""
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr ""
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
#, fuzzy
msgid "Selection:"
msgstr "ResoluciСn:"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
#, fuzzy
msgid "None"
msgstr "Nota:"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr ""
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
#, fuzzy
msgid "Length:"
msgstr "Longitud"
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
msgid "Set as loop"
msgstr ""
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr ""
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
#, fuzzy
msgid "Load Sample..."
msgstr "Abrir XM..."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
#, fuzzy
msgid "Save WAV..."
msgstr "Guardar XM..."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
msgid "Save region as WAV..."
msgstr ""
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr ""
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr ""
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr ""
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr ""
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr ""
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr ""
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr ""
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr ""
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
msgid "Reverse"
msgstr ""
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr ""
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr ""
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr ""
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr ""
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
#, fuzzy
msgid "Clear Sample"
msgstr "Muestra"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
msgid "(no selection)"
msgstr ""
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr ""
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr ""
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
msgid "Load stereo sample"
msgstr ""
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1389,25 +1406,25 @@
"Please choose which channel to load:"
msgstr ""
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
#, fuzzy
msgid "Left"
msgstr "Longitud"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr ""
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
msgid "Right"
msgstr ""
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
#, fuzzy
msgid "Load raw sample"
msgstr "Abrir XM..."
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1415,79 +1432,79 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr ""
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr ""
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr ""
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr ""
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr ""
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr ""
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr ""
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr ""
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr ""
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr ""
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr ""
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr ""
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr ""
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr ""
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr ""
Binary files soundtracker-0.5.7/po/fr.gmo and soundtracker-0.5.8/po/fr.gmo differ
diff -urN soundtracker-0.5.7/po/fr.po soundtracker-0.5.8/po/fr.po
--- soundtracker-0.5.7/po/fr.po Tue Aug 15 18:36:15 2000
+++ soundtracker-0.5.8/po/fr.po Tue Sep 19 18:20:26 2000
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: soundtracker-0.5.0\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: 2000-03-21 19:19+01:00\n"
"Last-Translator: SaОd Bougribate \n"
"Language-Team: French \n"
@@ -54,7 +54,7 @@
msgid "Mixers"
msgstr "Modificateur:"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr "Fermer"
@@ -75,12 +75,12 @@
msgstr "Les changments ne prendront effet qu'au redИmarrage de l'application."
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "RИsolution:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "Canaux:"
@@ -156,7 +156,7 @@
msgid "no settings (yet), sorry!"
msgstr "Pas de configuration (pour l'instant), dИsolИ!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr "Impossible d'ouvrir le fichier pour l'Иcriture."
@@ -183,31 +183,31 @@
"Impossible d'ouvrir /dev/dsp pour la sortie sonore:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "DurИe"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "Courant"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "Variation"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "Valeur"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "InsИrer"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "Annuler"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -221,23 +221,23 @@
"Seulement dans la\n"
"Version de GNOME"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "Soutien"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "Point"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "Boucle"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "DИmarrer"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "Fin"
@@ -260,7 +260,7 @@
msgid "Save Song"
msgstr "Joue la Musique"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr "Charge Echantillon"
@@ -288,69 +288,70 @@
msgid "Operation not supported."
msgstr ""
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "Frequence des oscilloscopes"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "Frequence du tracker"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "Configuration de la GUI"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "Utiliser les nombres hexadИcimaux"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr ""
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
#, fuzzy
msgid "Advance cursor horizontally in effect columns"
msgstr "Curseur avancИ dans les colonnes des FX"
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr ""
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr ""
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "Utiliser l'anti-aliase dans l'Иditeur d'enveloppe"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr ""
"Vous devez redmarrer SoundTracker pour que ces changments prennent effet."
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "Dimension du buffer des ossilloscopes [MO]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr "Eclairage des rows:"
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "`Sauvegarde XM' sauve les patterns non vide"
@@ -441,8 +442,8 @@
msgid "Question"
msgstr "Question"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "Annuler"
@@ -458,7 +459,7 @@
msgid "Tempo"
msgstr "Tempo"
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -466,68 +467,68 @@
"Etes vous sur de vider le projet courant?\n"
"Tous les modifications vont Йtres perdues!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "Etes vous sur de vouloir supprimer ce fichier?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "Charge XM..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "Sauve XM..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr ""
-#: app/gui.c:1289
+#: app/gui.c:1295
#, fuzzy
msgid "Save song as XM..."
msgstr "Sauve XM..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "Joue la Musique"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "Joue le Pattern"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "Stop"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "Nombre de canaux:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "Pattern"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "DurИe du pattern"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "Octave"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "Saut"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Instrument"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "Echantillon"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -609,16 +610,16 @@
msgid "Initialize"
msgstr "Initialise"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr "La touche qui insert le coupe-note pour les modules FastTracker."
-#: app/keys.c:136
+#: app/keys.c:139
#, fuzzy
msgid "Upper Octave Keys..."
msgstr "Touche de l'octave supИrieure.."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -628,12 +629,12 @@
"touche du cote droit de la TABULATION. Le reste des touches doivent "
"etresrangИes comme un piano, incluant le nombre de touches."
-#: app/keys.c:143
+#: app/keys.c:146
#, fuzzy
msgid "Lower Octave Keys..."
msgstr "Touche de l'octave infИrieure.."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -643,48 +644,48 @@
"premiere touche du cote gauche de la touche SHIFT. Le reste des touches "
"doivent etres rangИes comme un piano, incluant le nombre de touches."
-#: app/keys.c:150
+#: app/keys.c:153
#, fuzzy
msgid "Other Keys..."
msgstr "Autres touches.."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "Autres touches variИes.."
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "Fonction"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "Assignement"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "Configuration du clavier"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "Exploiation du groupement de touches"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "Explotation des touches"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "Modificateur:"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "Memorise la touche selectionnИe"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr "Memorise toutes les touches"
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
@@ -692,15 +693,15 @@
"SVP pressez votre touche de combinaison !\n"
"Cliquez sur la liste de gauche pour annuler"
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr "Ok"
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr ""
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
@@ -708,7 +709,7 @@
"Le fichier de la configuration du clavier est corrompu.\n"
"SVP utilisez la boite de dialogue de la Configuration du Clavier."
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -734,510 +735,528 @@
"Etes vous sШr de voulour quitter?\n"
"Toutes les modifications vont Йtres perdues!"
-#: app/menubar.c:267
+#: app/menubar.c:280
msgid "_Open..."
msgstr "_Ouvrir..."
-#: app/menubar.c:269
+#: app/menubar.c:282
msgid "Save _as..."
msgstr "Sauvegarder _sous..."
-#: app/menubar.c:275
+#: app/menubar.c:288
#, fuzzy
msgid "Save Module as _WAV..."
msgstr "Sauve WAV.."
-#: app/menubar.c:277
+#: app/menubar.c:290
#, fuzzy
msgid "Save XM without samples..."
msgstr "Charge Echantillon.."
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr "_Quitter"
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr "Effacer _Tout"
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr "Effacer seulement les _Patterns"
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr "_Optimise les Modules"
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr "_Couper"
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr "_Copier"
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr "_Coller"
-#: app/menubar.c:317
+#: app/menubar.c:330
#, fuzzy
msgid "_Kill notes"
msgstr "/Edition/Track/A_nnuler"
-#: app/menubar.c:319
+#: app/menubar.c:332
msgid "_Insert"
msgstr "I_nsИrer"
-#: app/menubar.c:321
+#: app/menubar.c:334
msgid "_Delete"
msgstr "A_nnuler"
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
#, fuzzy
msgid "_Mark mode"
msgstr "_Maquer"
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
#, fuzzy
msgid "C_lear block marks"
msgstr "Effacer"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr "_Jazz Edition Mode"
-#: app/menubar.c:351
+#: app/menubar.c:368
msgid "Transp_osition..."
msgstr "Transp_osition..."
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr "_Pattern"
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr "T_rack"
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr "_SИlection"
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr "_Trouver les Patterns non utilisИs"
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr "_Copier courant dans un Pattern non utilisИ"
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr "Effac_er les Patterns non utilisИs"
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr "Com_presser les Patterns"
-#: app/menubar.c:399
+#: app/menubar.c:416
msgid "_Load XI..."
msgstr "_Charger XI..."
-#: app/menubar.c:401
+#: app/menubar.c:418
#, fuzzy
msgid "_Save XI..."
msgstr "Sauve XM..."
-#: app/menubar.c:406
+#: app/menubar.c:423
#, fuzzy
msgid "_Clear Current"
msgstr "Courant"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr "_Enlever les instruments non utilisИs"
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr "Utiliser les _Backing Store"
-#: app/menubar.c:421
+#: app/menubar.c:438
#, fuzzy
msgid "_Previous font"
msgstr "Astuce PrИcИdente"
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr ""
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr "Montrer les _Oscilloscopes"
-#: app/menubar.c:434
+#: app/menubar.c:451
#, fuzzy
msgid "_Tracker"
msgstr "T_rack"
-#: app/menubar.c:438
+#: app/menubar.c:455
msgid "_Keyboard Configuration..."
msgstr "_Configuration du Clavier..."
-#: app/menubar.c:440
+#: app/menubar.c:457
msgid "_Audio Configuration..."
msgstr "Configuration _Audio..."
-#: app/menubar.c:442
+#: app/menubar.c:459
msgid "_GUI Configuration..."
msgstr "Configuration de la _GUI..."
-#: app/menubar.c:448
+#: app/menubar.c:465
#, fuzzy
msgid "_MIDI Configuration..."
msgstr "Configuration de la _GUI..."
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr "_Sauver la configuration maintenant"
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr "Sauver la configuration en _Quittant"
-#: app/menubar.c:462
+#: app/menubar.c:479
msgid "_About..."
msgstr "_A propos..."
-#: app/menubar.c:467
+#: app/menubar.c:484
msgid "Show _Tips..."
msgstr "Montrer les A_stuces..."
-#: app/menubar.c:469
+#: app/menubar.c:486
msgid "_XM Effects..."
msgstr "_XM effects..."
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr "_Fichier"
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr "_Module"
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr "_Edition"
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr "_Instrument"
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr "_Configuration"
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr "_Aide"
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr "/_Fichier"
-#: app/menubar.c:520
+#: app/menubar.c:537
msgid "/File/_Open..."
msgstr "/Fichier/_Ouvrir..."
-#: app/menubar.c:521
+#: app/menubar.c:538
msgid "/File/Save _as..."
msgstr "/Fichier/Sauver _sous..."
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr "/Fichier/-"
-#: app/menubar.c:523
+#: app/menubar.c:540
#, fuzzy
msgid "/File/Save Module as _WAV..."
msgstr "/Fichier/Sauver _sous..."
-#: app/menubar.c:524
+#: app/menubar.c:541
#, fuzzy
msgid "/File/Save XM without samples..."
msgstr "/Fichier/Sauver _sous..."
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr "/Fichier/_Quitter"
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr "/_Module"
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr "/Module/Effacer _Tout"
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr "/Module/Effacer seulement les _Patterns"
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr "/Module/_Optimiser le Module"
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr "/_Edition"
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr "/Edition/_Jazz Edition Mode"
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr "/Edition/-"
-#: app/menubar.c:534
+#: app/menubar.c:551
msgid "/Edit/_Transposition..."
msgstr "/Edition/Tr_ansposition..."
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr "/Edition/_Pattern"
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr "/Edition/Pattern/_Couper"
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr "/Edition/Pattern/_Copier"
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr "/Edition/Pattern/_coller"
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr "/Edition/T_rack"
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr "/Edition/Track/C_ouper"
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr "/Edition/Tracck/_Copier"
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr "/Edition/Track/Co_ller"
-#: app/menubar.c:544
+#: app/menubar.c:561
#, fuzzy
msgid "/Edit/Track/_Kill notes"
msgstr "/Edition/Track/A_nnuler"
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr "/Edition/Track/I_nsИrer"
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr "/Edition/Track/A_nnuler"
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr "/Edition/_Selection"
-#: app/menubar.c:548
+#: app/menubar.c:565
#, fuzzy
msgid "/Edit/Selection/_Mark mode"
msgstr "/Edition/Selection/_Marquer"
-#: app/menubar.c:549
+#: app/menubar.c:566
#, fuzzy
msgid "/Edit/Selection/C_lear block marks"
msgstr "/Edition/Selection/_Marquer"
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr "/Edition/Selection/C_ouper"
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr "/Edition/Selection/_Copia"
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr "/Edit/Selection/Co_ller"
-#: app/menubar.c:553
+#: app/menubar.c:570
#, fuzzy
msgid "/Edit/Selection/_Interpolate effects"
msgstr "/Edit/Selection/Co_ller"
-#: app/menubar.c:554
+#: app/menubar.c:571
+#, fuzzy
+msgid "/Edit/Track/Increment cmd value"
+msgstr "/Edition/Track/I_nsИrer"
+
+#: app/menubar.c:572
+#, fuzzy
+msgid "/Edit/Track/Decrement cmd value"
+msgstr "/Edition/Track/A_nnuler"
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr "/_Pattern"
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr "/Pattern/_Trouver les Patterns non utilisИs"
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr "/Pattern/_Copier courant dans un Pattern non utilisИ"
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr "/Pattern/Ef_facer les Patterns non utilisИs"
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr "/Pattern/Com_presser les Patterns"
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr "/_Instruments"
-#: app/menubar.c:560
+#: app/menubar.c:579
msgid "/Instrument/_Load XI..."
msgstr "/Instruments/_Charger XI..."
-#: app/menubar.c:561
+#: app/menubar.c:580
#, fuzzy
msgid "/Instrument/_Save XI..."
msgstr "/Instruments/_Charger XI..."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr "/Instruments/-"
-#: app/menubar.c:563
+#: app/menubar.c:582
#, fuzzy
msgid "/Instrument/_Clear Current"
msgstr "/Instruments/_Enlever les Instruments non utilisИs"
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr "/Instruments/_Enlever les Instruments non utilisИs"
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr "/_Configuration"
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr "/Configuration/Montrer les _Oscilloscopes"
-#: app/menubar.c:568
+#: app/menubar.c:587
#, fuzzy
msgid "/Settings/_Tracker"
msgstr "/Configuration/-"
-#: app/menubar.c:569
+#: app/menubar.c:588
#, fuzzy
msgid "/Settings/Tracker/Use _Backing Store"
msgstr "/Configuration/Utiliser les _Backing Store"
-#: app/menubar.c:570
+#: app/menubar.c:589
#, fuzzy
msgid "/Settings/Tracker/_Previous font"
msgstr "/Configuration/Sauvez la Configuration en Quittant"
-#: app/menubar.c:571
+#: app/menubar.c:590
#, fuzzy
msgid "/Settings/Tracker/_Next font"
msgstr "/Configuration/Sauvez la Configuration en Quittant"
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr "/Configuration/-"
-#: app/menubar.c:573
+#: app/menubar.c:592
msgid "/Settings/_Keyboard Configuration..."
msgstr "/Configuration/_Configuration du Clavier..."
-#: app/menubar.c:574
+#: app/menubar.c:593
msgid "/Settings/_Audio Configuration..."
msgstr "/Configuration/Configuration du Son Audio..."
-#: app/menubar.c:575
+#: app/menubar.c:594
msgid "/Settings/_GUI Configuration..."
msgstr "Configuration/Configuration de la _GUI..."
-#: app/menubar.c:576
+#: app/menubar.c:595
#, fuzzy
msgid "/Settings/_MIDI Configuration..."
msgstr "Configuration/Configuration de la _GUI..."
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr "/Configuration/_Sauver la Configuration maintenant"
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr "/Configuration/Sauver la Configuration en _Quittant"
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr "/_Aide"
-#: app/menubar.c:581
+#: app/menubar.c:600
msgid "/Help/_About..."
msgstr "/Aide/_A Propos..."
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr "/Aide/-"
-#: app/menubar.c:583
+#: app/menubar.c:602
msgid "/Help/Show _Tips..."
msgstr "/Aide/Montrer les _Astuces..."
-#: app/menubar.c:584
+#: app/menubar.c:603
msgid "/Help/_XM Effects..."
msgstr "/Aide/Effects _XM..."
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr "Nom de l'instrument"
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr "#Иchantillon"
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr "Nom de l'Иchantillon"
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr "LinИaire"
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr "Amiga"
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr "Module Information"
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr "Titre:"
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr "FrИquence:"
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr "Mode ProTracker"
@@ -1253,7 +1272,7 @@
msgid "Restart pos"
msgstr "RedИmarre la position"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
@@ -1261,157 +1280,157 @@
"Un rИpertoire appeler '.soundtracker' a ИtИ crИИ dans votre\n"
"rИpertoire maison pour y crИer un fichier de sauvegarde .\n"
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr "Pas de boucle"
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr "Ping Pong"
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr "8 bits"
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr "16 bits"
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr "Editeur d'Иchantillon"
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr "Volume"
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr "Panoramique"
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr "Regulation affinИe"
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
#, fuzzy
msgid "Selection:"
msgstr "_SИlection"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
#, fuzzy
msgid "None"
msgstr "Note:"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr ""
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
#, fuzzy
msgid "Length:"
msgstr "DurИe"
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
msgid "Set as loop"
msgstr ""
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr "NoteRelative"
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
#, fuzzy
msgid "Load Sample..."
msgstr "Charge Echantillon.."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
#, fuzzy
msgid "Save WAV..."
msgstr "Sauve WAV.."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
#, fuzzy
msgid "Save region as WAV..."
msgstr "Sauve WAV.."
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr "Sauve WAV"
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr ""
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr "Moniteur"
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr "Rampe du Volume"
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr "Zoom la sИlection"
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr "Montrer tout"
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr "Zoom avant (+50%)"
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr "Zoom arriХre (-50%)"
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
#, fuzzy
msgid "Reverse"
msgstr "Enlever"
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr "Couper"
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr "Enlever"
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr "Copier"
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr "Coller"
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
#, fuzzy
msgid "Clear Sample"
msgstr "Charge Echantillon"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
#, fuzzy
msgid "(no selection)"
msgstr "Zoom la sИlection"
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr ""
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr "Erreur de lecture."
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
#, fuzzy
msgid "Load stereo sample"
msgstr "Charge Echantillon"
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1419,26 +1438,26 @@
"Please choose which channel to load:"
msgstr ""
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
#, fuzzy
msgid "Left"
msgstr "Gauche [%]:"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr ""
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
#, fuzzy
msgid "Right"
msgstr "Droit [%]:"
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
#, fuzzy
msgid "Load raw sample"
msgstr "Charge Echantillon"
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1446,82 +1465,82 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr "OK"
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr "Impossible de lire l'Иchantillon"
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr ""
"L'Иchantillon est trop long pour le mixer. Continue chargement nИanmoins."
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
#, fuzzy
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr "Ne peut supporter que les Иchantillons mono 8/16 bits"
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr ""
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr "DИmarre l'Иchantillonage"
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr ""
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr "FenЙtre d'echantillonage"
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr ""
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
"L'Иchantillon enregistrИ est trop long pour le mixer. Continue nИanmoins."
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr "Normaliser"
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr "ExИcuter"
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr "Rampe du Volume"
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr "Appliquer un volume linИaire Ю la sИlection "
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr "Gauche [%]:"
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr "Droit [%]:"
Binary files soundtracker-0.5.7/po/it.gmo and soundtracker-0.5.8/po/it.gmo differ
diff -urN soundtracker-0.5.7/po/it.po soundtracker-0.5.8/po/it.po
--- soundtracker-0.5.7/po/it.po Tue Aug 15 18:36:15 2000
+++ soundtracker-0.5.8/po/it.po Tue Sep 19 18:20:27 2000
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: soundtracker-0.5.5\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
-"PO-Revision-Date: 2000-05-27 19:19+01:00\n"
+"Project-Id-Version: soundtracker-0.5.7\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
+"PO-Revision-Date: 2000-09-02 19:19+01:00\n"
"Last-Translator: Yuri Bongiorno \n"
"Language-Team: Italian \n"
"MIME-Version: 1.0\n"
@@ -50,7 +50,7 @@
msgid "Mixers"
msgstr "Mixer"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr "Chiudi"
@@ -71,12 +71,12 @@
msgstr "Questi cambiamenti avranno effetto alla prossima riproduzione."
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "Risoluzione:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "Canali:"
@@ -157,7 +157,7 @@
msgid "no settings (yet), sorry!"
msgstr "non ci sono (ancora) impostazioni, mi dispiace!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr "Impossibile aprire il file per la scrittura."
@@ -184,31 +184,31 @@
"Impossibile aprire /dev/dsp per l'output del suono:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "Lunghezza"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "Attuale"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "Offset"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "Valore"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "Inserisce"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "Cancella"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -222,23 +222,23 @@
"solo nella\n"
"versione GNOME"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "Sostiene"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "Punto"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "Ciclo"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "Inizio"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "Fine"
@@ -258,7 +258,7 @@
msgid "Save Song"
msgstr "Salva il brano"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr "Carica il campione"
@@ -282,67 +282,68 @@
msgid "Operation not supported."
msgstr "Operazione non supportata."
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "Frequenza degli oscilloscopi"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "Frequenza del tracker"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "Configurazione della GUI"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "Usa numeri esadecimali"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr "Usa le lettere maiuscole per i numeri esadecimali"
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
msgid "Advance cursor horizontally in effect columns"
msgstr "Fa avanzare il cursore orizzontalmente nelle colonne effetti"
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr "Editing asincrono"
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr "Numera i canali"
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr "Aggiorna Tempo and BPM"
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr "Auto switch"
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "Usa l'editor di inviluppo anti-aliased"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr "Devi riavviare SoundTracker affinchХ questo cambiamento abbia effetto."
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "Dimensione del buffer degli oscilloscopi [MB]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr "Righe evidenziate:"
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
-msgstr ""
+msgstr "Formato della track line"
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "`Salva XM' salva tutti i pattern non vuoti"
@@ -356,7 +357,7 @@
#: app/gui-subs.c:34
msgid "Playing pattern..."
-msgstr "Esecuziono del pattern in corso..."
+msgstr "Esecuzione del pattern in corso..."
#: app/gui-subs.c:35
msgid "Loading module..."
@@ -418,8 +419,8 @@
msgid "Question"
msgstr "Domanda"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "Annulla"
@@ -435,7 +436,7 @@
msgid "Tempo"
msgstr "Tempo"
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -443,67 +444,67 @@
"Sei sicuro di volerti liberare dell'attuale progetto?\n"
"Tutti i cambiamenti andranno persi!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "Sei sicuro di voler sovrascrivere il file?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "Carica XM..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "Salva XM..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr "Riversa il modulo su file WAV..."
-#: app/gui.c:1289
+#: app/gui.c:1295
msgid "Save song as XM..."
msgstr "Salva il brano come XM..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "Suona brano"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "Suona pattern"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "Stop"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "Numero di canali:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "Pattern"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "Lunghezza pattern"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "Ottava"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "Passo"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Strumento"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "Campione"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr "%M:%S"
@@ -583,17 +584,17 @@
msgid "Initialize"
msgstr "Inizializza"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr ""
"Il tasto che inserisce la nota speciale di keyoff per i moduli di "
"FastTracker."
-#: app/keys.c:136
+#: app/keys.c:139
msgid "Upper Octave Keys..."
msgstr "Tasti dell'ottava piЫ alta..."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -604,11 +605,11 @@
"ordinato come la tastiera del pianoforte, compresa la riga coi numeri, "
"quella sopra."
-#: app/keys.c:143
+#: app/keys.c:146
msgid "Lower Octave Keys..."
msgstr "Tasti dell'ottava piЫ bassa..."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -619,47 +620,47 @@
"tasti dovrebbe essere ordinato come la tastiera del pianoforte, compresa la "
"riga sopra."
-#: app/keys.c:150
+#: app/keys.c:153
msgid "Other Keys..."
msgstr "Altri tasti..."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "Altri tasti vari"
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "Funzione"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "Assegnazione"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "Configurazione della tastiera"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "Spiegazione del gruppo di tasti"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "Spiegazione del tasto"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "Modificatori:"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "Memorizza il tasto selezionato"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr "Memorizza tutti i tasti"
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
@@ -667,15 +668,15 @@
"Per favore premi la combinazione di tasti desiderata!\n"
"Clicca sull'elenco a sinistra per annullare"
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr "Ok"
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr "Applica"
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
@@ -683,7 +684,7 @@
"Il file di configurazione della tastiera Х difettoso.\n"
"Per favore usa la finestra di dialogo Configurazione della tastiera."
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -709,496 +710,505 @@
"Sei sicuro di voler abbandonare?\n"
"Tutti i cambiamenti andranno persi!"
-#: app/menubar.c:267
+#: app/menubar.c:280
msgid "_Open..."
msgstr "_Apri..."
-#: app/menubar.c:269
+#: app/menubar.c:282
msgid "Save _as..."
msgstr "Salva _con nome..."
-#: app/menubar.c:275
+#: app/menubar.c:288
msgid "Save Module as _WAV..."
msgstr "Salva il modulo come _WAV..."
-#: app/menubar.c:277
-#, fuzzy
+#: app/menubar.c:290
msgid "Save XM without samples..."
-msgstr "Salvataggio del campione in corso..."
+msgstr "Salva XM senza i campioni..."
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr "_Esci"
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr "Cancella _tutto"
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr "Cancella solamente i _pattern"
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr "_Ottimizza il modulo"
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr "_Taglia"
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr "_Copia"
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr "_Incolla"
-#: app/menubar.c:317
-#, fuzzy
+#: app/menubar.c:330
msgid "_Kill notes"
-msgstr "/Modifica/Traccia/Ca_ncella"
+msgstr "_Elimina le note"
-#: app/menubar.c:319
+#: app/menubar.c:332
msgid "_Insert"
msgstr "I_nserisce"
-#: app/menubar.c:321
+#: app/menubar.c:334
msgid "_Delete"
msgstr "C_ancella"
-#: app/menubar.c:328
-#, fuzzy
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
msgid "_Mark mode"
-msgstr "_Marca"
+msgstr "ModalitЮ _mark"
-#: app/menubar.c:330 app/menubar.c:364
-#, fuzzy
+#: app/menubar.c:347 app/menubar.c:381
msgid "C_lear block marks"
-msgstr "Cancella campione"
+msgstr "Cance_lla i block mark"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
-msgstr ""
+msgstr "Interpola gli _effetti"
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr "ModalitЮ _Jazz Edit"
-#: app/menubar.c:351
+#: app/menubar.c:368
msgid "Transp_osition..."
msgstr "Trasp_osizione..."
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr "_Pattern"
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr "T_raccia"
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr "_Selezione"
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr "_Trova i pattern non usati"
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr "_Copia l'attuale in un pattern non usato"
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr "Cance_lla i pattern non usati"
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr "Com_primi i pattern"
-#: app/menubar.c:399
+#: app/menubar.c:416
msgid "_Load XI..."
msgstr "_Carica XI..."
-#: app/menubar.c:401
+#: app/menubar.c:418
msgid "_Save XI..."
msgstr "_Salva XI..."
-#: app/menubar.c:406
+#: app/menubar.c:423
msgid "_Clear Current"
msgstr "_Cancella l'attuale"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr "_Elimina gli strumenti non usati"
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr "Usa il _backing store"
-#: app/menubar.c:421
+#: app/menubar.c:438
msgid "_Previous font"
msgstr "Font _precedente"
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr "Fo_nt successivo"
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr "Mostra gli _oscilloscopi"
-#: app/menubar.c:434
+#: app/menubar.c:451
msgid "_Tracker"
msgstr "_Tracker"
-#: app/menubar.c:438
+#: app/menubar.c:455
msgid "_Keyboard Configuration..."
msgstr "_Configurazione della tastiera..."
-#: app/menubar.c:440
+#: app/menubar.c:457
msgid "_Audio Configuration..."
msgstr "Configurazione dell'_audio..."
-#: app/menubar.c:442
+#: app/menubar.c:459
msgid "_GUI Configuration..."
msgstr "Configurazione della _GUI..."
-#: app/menubar.c:448
+#: app/menubar.c:465
msgid "_MIDI Configuration..."
msgstr "Configurazione _MIDI..."
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr "_Salva le impostazioni ora"
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr "Salva le impostazioni all'_uscita"
-#: app/menubar.c:462
+#: app/menubar.c:479
msgid "_About..."
msgstr "_Informazioni su..."
-#: app/menubar.c:467
+#: app/menubar.c:484
msgid "Show _Tips..."
msgstr "Mostra i suggerimen_ti..."
-#: app/menubar.c:469
+#: app/menubar.c:486
msgid "_XM Effects..."
msgstr "Effetti _XM..."
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr "_File"
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr "_Modulo"
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr "_Modifica"
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr "_Strumento"
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr "_Impostazioni"
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr "_Aiuto"
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr "/_File"
-#: app/menubar.c:520
+#: app/menubar.c:537
msgid "/File/_Open..."
msgstr "/File/_Apri..."
-#: app/menubar.c:521
+#: app/menubar.c:538
msgid "/File/Save _as..."
msgstr "/File/Salva _con nome..."
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr "/File/-"
-#: app/menubar.c:523
+#: app/menubar.c:540
msgid "/File/Save Module as _WAV..."
msgstr "/File/Salva il modulo come _WAV..."
-#: app/menubar.c:524
-#, fuzzy
+#: app/menubar.c:541
msgid "/File/Save XM without samples..."
-msgstr "/File/Salva il modulo come _WAV..."
+msgstr "/File/Salva XM senza i campioni..."
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr "/File/_Esci"
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr "/_Modulo"
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr "/Modulo/Cancella _tutto"
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr "/Modulo/Cancella solamente i _pattern"
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr "/Modulo/_Ottimizza il modulo"
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr "/_Modifica"
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr "/Modifica/ModalitЮ _Jazz Edit"
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr "/Modifica/-"
-#: app/menubar.c:534
+#: app/menubar.c:551
msgid "/Edit/_Transposition..."
msgstr "/Modifica/Tr_asposizione..."
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr "/Modifica/_Pattern"
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr "/Modifica/Pattern/_Taglia"
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr "/Modifica/Pattern/_Copia"
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr "/Modifica/Pattern/_Incolla"
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr "/Modifica/T_raccia"
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr "/Modifica/Traccia/_Taglia"
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr "/Modifica/Traccia/_Copia"
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr "/Modifica/Traccia/_Incolla"
-#: app/menubar.c:544
-#, fuzzy
+#: app/menubar.c:561
msgid "/Edit/Track/_Kill notes"
-msgstr "/Modifica/Traccia/Ca_ncella"
+msgstr "/Modifica/Traccia/_Elimina le note"
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr "/Modifica/Traccia/I_nserisce"
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr "/Modifica/Traccia/Ca_ncella"
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr "/Modifica/_Selezione"
-#: app/menubar.c:548
-#, fuzzy
+#: app/menubar.c:565
msgid "/Edit/Selection/_Mark mode"
-msgstr "/Modifica/Selezione/_Marca"
+msgstr "/Modifica/Selezione/ModalitЮ _mark"
-#: app/menubar.c:549
-#, fuzzy
+#: app/menubar.c:566
msgid "/Edit/Selection/C_lear block marks"
-msgstr "/Modifica/Selezione/_Marca"
+msgstr "/Modifica/Selezione/Cance_lla i block mark"
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr "/Modifica/Selezione/_Taglia"
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr "/Modifica/Selezione/_Copia"
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
-msgstr "/Modifica/Selezione/_Incolla"
+msgstr "/Modifica/Selezione/I_ncolla"
-#: app/menubar.c:553
-#, fuzzy
+#: app/menubar.c:570
msgid "/Edit/Selection/_Interpolate effects"
-msgstr "/Modifica/Selezione/_Incolla"
+msgstr "/Modifica/Selezione/Interpola gli _effetti"
-#: app/menubar.c:554
+#: app/menubar.c:571
+#, fuzzy
+msgid "/Edit/Track/Increment cmd value"
+msgstr "/Modifica/Traccia/I_nserisce"
+
+#: app/menubar.c:572
+#, fuzzy
+msgid "/Edit/Track/Decrement cmd value"
+msgstr "/Modifica/Traccia/Ca_ncella"
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr "/_Pattern"
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr "/Pattern/_Trova i pattern non usati"
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr "/Pattern/_Copia l'attuale in un pattern non usato"
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr "/Pattern/Cance_lla i pattern non usati"
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr "/Pattern/Com_primi i pattern"
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr "/_Strumento"
-#: app/menubar.c:560
+#: app/menubar.c:579
msgid "/Instrument/_Load XI..."
msgstr "/Strumento/_Carica XI..."
-#: app/menubar.c:561
+#: app/menubar.c:580
msgid "/Instrument/_Save XI..."
msgstr "/Strumento/_Carica XI..."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr "/Strumento/-"
-#: app/menubar.c:563
+#: app/menubar.c:582
msgid "/Instrument/_Clear Current"
msgstr "/Strumento/_Cancella l'attuale"
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr "/Strumento/_Elimina gli strumenti non usati"
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr "/_Impostazioni"
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr "/Impostazioni/Mostra gli _oscilloscopi"
-#: app/menubar.c:568
+#: app/menubar.c:587
msgid "/Settings/_Tracker"
msgstr "/Impostazioni/_Tracker"
-#: app/menubar.c:569
+#: app/menubar.c:588
msgid "/Settings/Tracker/Use _Backing Store"
msgstr "/Impostazioni/Tracker/Usa il _backing store"
-#: app/menubar.c:570
+#: app/menubar.c:589
msgid "/Settings/Tracker/_Previous font"
msgstr "/Impostazioni/Tracker/Font _precedente"
-#: app/menubar.c:571
+#: app/menubar.c:590
msgid "/Settings/Tracker/_Next font"
msgstr "/Impostazioni/Tracker/Fo_nt successivo"
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr "/Impostazioni/-"
-#: app/menubar.c:573
+#: app/menubar.c:592
msgid "/Settings/_Keyboard Configuration..."
msgstr "/Impostazioni/_Configurazione della tastiera..."
-#: app/menubar.c:574
+#: app/menubar.c:593
msgid "/Settings/_Audio Configuration..."
msgstr "/Impostazioni/Configurazione dell'_audio..."
-#: app/menubar.c:575
+#: app/menubar.c:594
msgid "/Settings/_GUI Configuration..."
msgstr "/Impostazioni/Configurazione della _GUI..."
-#: app/menubar.c:576
+#: app/menubar.c:595
msgid "/Settings/_MIDI Configuration..."
msgstr "/Impostazioni/Configurazione _MIDI..."
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr "/Impostazioni/_Salva le impostazioni ora"
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr "/Impostazioni/Salva le impostazioni all'_uscita"
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr "/_Aiuto"
-#: app/menubar.c:581
+#: app/menubar.c:600
msgid "/Help/_About..."
msgstr "/Aiuto/_Informazioni su..."
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr "/Aiuto/-"
-#: app/menubar.c:583
+#: app/menubar.c:602
msgid "/Help/Show _Tips..."
msgstr "/Aiuto/Mostra i suggerimen_ti..."
-#: app/menubar.c:584
+#: app/menubar.c:603
msgid "/Help/_XM Effects..."
msgstr "/Aiuto/Effetti _XM..."
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr "Nome dello strumento"
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr "#smpl"
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr "Nome del campione"
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr "Lineare"
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr "Amiga"
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr "Informazioni sul modulo"
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr "Nome del brano:"
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr "Frequenze:"
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr "ModalitЮ ProTracker"
@@ -1214,7 +1224,7 @@
msgid "Restart pos"
msgstr "Ricomincia da"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
@@ -1222,148 +1232,147 @@
"Una directory chiamata '.soundtracker' Х stata creata nella tua\n"
"home directory per immagazzinare i file di configurazione.\n"
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr "Nessun ciclo"
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr "Ping Pong"
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr "8 bit"
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr "16 bit"
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr "Editor del campione"
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr "Volume"
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr "Pan"
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr "Regolazione fine"
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
msgid "Selection:"
msgstr "Selezione:"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
msgid "None"
msgstr "Niente"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr "Tutto"
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
msgid "Length:"
msgstr "Lunghezza:"
-#: app/sample-editor.c:319
-#, fuzzy
+#: app/sample-editor.c:320
msgid "Set as loop"
-msgstr "Set loop begin/loop"
+msgstr "Imposta come ciclo"
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr "Nota relativa"
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
msgid "Load Sample..."
msgstr "Carica il campione..."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
msgid "Save WAV..."
msgstr "Salva WAV..."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
msgid "Save region as WAV..."
msgstr "Salva la regione come WAV..."
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr "Salva WAV"
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr "Salva la regione"
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr "Monitor"
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr "Rampa di volume"
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr "Zoom sulla selezione"
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr "Mostra tutto"
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr "Zoom avanti (+50%)"
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr "Zoom indietro (-50%)"
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
msgid "Reverse"
msgstr "Capovolgi"
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr "Taglia"
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr "Rimuove"
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr "Copia"
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr "Incolla"
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
msgid "Clear Sample"
msgstr "Cancella campione"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
msgid "(no selection)"
msgstr "(nessuna selezione)"
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr ""
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr "Errore di lettura."
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
msgid "Load stereo sample"
msgstr "Carica il campione stereo"
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1375,105 +1384,108 @@
"\n"
"Per favore scegli quale canale caricare:"
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
msgid "Left"
msgstr "Sinistra"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr "Mix"
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
msgid "Right"
msgstr "Destra"
-#: app/sample-editor.c:1440
-#, fuzzy
+#: app/sample-editor.c:1445
msgid "Load raw sample"
-msgstr "Carica il campione stereo"
+msgstr "Carica campione raw"
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
"\n"
"Please choose a format:"
msgstr ""
+"Hai selezionato un campione che non Х in\n"
+"un formato conosciuto. Puoi comunque caricarlo come raw.\n"
+"\n"
+"Per favore scegli un formato:"
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
-msgstr ""
+msgstr "Formato word"
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr "OK"
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr "Impossibile leggere il campione"
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr "Il campione Х troppo lungo per l'attuale mixer. Lo carico comunque."
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr "PuР solo gestire campioni da 8 e 16 bit fino a 2 canali"
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr "Niente da salvare."
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr "Inizia il campionamento"
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr "Nessun driver di campionamento libero"
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr "Finestra di campionamento"
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr ""
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
"Il campione registrato Х troppo lungo per l'attuale mixer. Lo uso comunque."
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr "Normalizza"
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr "Esegui"
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr "Rampa di volume"
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr "Esegue una dissolvenza lineare del volume sulla selezione"
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr "Sinistra [%]:"
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
-msgstr ""
+msgstr "H"
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
-msgstr ""
+msgstr "D"
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr "Destra [%]:"
@@ -1923,12 +1935,3 @@
#: app/xm.c:1285
msgid "No FastTracker XM and no supported MOD format!"
msgstr "Non Х un XM di FastTracker nХ un formato MOD supportato!"
-
-#~ msgid "Save Song as XM..."
-#~ msgstr "Salva il brano come XM..."
-
-#~ msgid "/File/Save Song as XM..."
-#~ msgstr "/File/Salva il brano come XM..."
-
-#~ msgid "Show zeroes"
-#~ msgstr "Mostra gli zeri"
Binary files soundtracker-0.5.7/po/ja.gmo and soundtracker-0.5.8/po/ja.gmo differ
diff -urN soundtracker-0.5.7/po/ja.po soundtracker-0.5.8/po/ja.po
--- soundtracker-0.5.7/po/ja.po Tue Aug 15 18:36:16 2000
+++ soundtracker-0.5.8/po/ja.po Tue Sep 19 18:20:27 2000
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: SoundTracker 0.3.10\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: 2000-06-06 15:08+09:00\n"
"Last-Translator: Atsushi Yamagata \n"
"MIME-Version: 1.0\n"
@@ -50,7 +50,7 @@
msgid "Mixers"
msgstr "╔ъ╔╜╔╣"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr "йд╓╦╓К"
@@ -71,12 +71,12 @@
msgstr "╠Иау╓Р╨фЁ╚╓╧╓К╓ч╓г╓Ё╓Л╓И╓нйя╧╧╓о╓й╓╣╓Л╓ч╓╩╓С║ё"
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "╡РаЭеы:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "╔а╔Ц╔С╔м╔К:"
@@ -155,7 +155,7 @@
msgid "no settings (yet), sorry!"
msgstr "╓╧╓ъ╓ч╓╩╓С║╒(╓ч╓ю)юъдЙ╓╣╓Л╓ф╓╓╓ч╓╩╓С!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr "╫Я╓╜╧Ч╓ъ╓н╓©╓А╓к╔у╔║╔╓╔К╓╛Ё╚╓╠╓ч╓╩╓С║ё"
@@ -182,31 +182,31 @@
"╔╣╔╕╔С╔и╫пно╓кбп╓╥╓ф/dev/dsp╓╛Ё╚╓╠╓ч╓╩╓С╓г╓╥╓©:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "д╧╓╣"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "╔╚╔Л╔С╔х"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "╔╙╔у╔╩╔ц╔х"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "цм"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "ачфЧ"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "╨О╫Э"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -220,23 +220,23 @@
"╔╗╔С╔ы╔М║╪╔в\n"
"йт╫╦╓г╓╧"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "╔╣╔╧╔ф╔ё║╪╔С"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "╔щ╔╓╔С╔х"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "╔К║╪╔в"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "Ё╚╩о"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "╫╙н╩"
@@ -256,7 +256,7 @@
msgid "Save Song"
msgstr "╤ййщб╦"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr "╔╣╔С╔в╔К║╕╔М║╪╔и"
@@ -280,67 +280,68 @@
msgid "Operation not supported."
msgstr "╔╣╔щ║╪╔х╓╣╓Л╓ф╓╓╓й╓╓аЮ╨Н╓г╓╧║ё"
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "╔╧╔Ё║╪╔в╪Чгх©Т"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "╔х╔И╔ц╔╚║╪╪Чгх©Т"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "GUIюъдЙ"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "16©й©Т╓Р╩хмя"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr "16©й©Т╓к╓обГй╦╩З╓Р╩х╓ц╓ф╓╞╓ю╓╣╓╓"
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
msgid "Advance cursor horizontally in effect columns"
msgstr ""
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr "хСф╠╢Эйт╫╦"
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr "╔ф╔С╔щ╓хBPM╓н╧╧©╥"
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "╔╒╔С╔а║╕╔╗╔╓╔Й╔╒╔╧║╕╔╗╔С╔ы╔М║╪╔в║╕╔╗╔г╔ё╔©╩хмя"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr "╓Ё╓нйя╧╧╓Рх©╠г╓╧╓К╓к╓оSoundTracker╓Р╨ф╣╞ф╟╓╧╓Ки╛мв╓╛╓╒╓Й╓ч╓╧║ё"
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "╔╧╔Ё║╪╔в║╕╔п╔ц╔у╔║║╕╔╣╔╓╔╨ [MB]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr ""
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "`йщб╦XM'╓га╢╓ф╓н╤У╓г╓й╓╓╔я╔©║╪╔С╓Рйщб╦"
@@ -416,8 +417,8 @@
msgid "Question"
msgstr "╪алД"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "╪Х╬ц"
@@ -433,7 +434,7 @@
msgid "Tempo"
msgstr "╔ф╔С╔щ"
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -441,67 +442,67 @@
"╔╚╔Л╔С╔х║╕╔в╔М╔╦╔╖╔╞╔х╓Р╡РйЭ╓╥╓©╓╓╓н╓оЁн╓╚╓г╓╧╓╚?\n"
"а╢╓ф╓нйя╧╧╓╛╪╨╓О╓Л╓ч╓╧!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "╔у╔║╔╓╔К╓Р╬Е╫Я╓╜╓╥╓©╓╓╓н╓оЁн╓╚╓г╓╧╓╚?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "XM╔М║╪╔и..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "XMйщб╦..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr "WAV╓х╓╥╓ф╔Б╔╦╔Е║╪╔К╓Р╔Л╔С╔ю╔Й╔С╔╟╓╧╓К..."
-#: app/gui.c:1289
+#: app/gui.c:1295
msgid "Save song as XM..."
msgstr "XM╓х╓╥╓ф╤ййщб╦..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "╤й╠Иау"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "╔я╔©║╪╔С╠Иау"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "дД╩ъ"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "╔а╔Ц╔С╔м╔К©Т:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "╔я╔©║╪╔С"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "╔я╔©║╪╔Сд╧"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "╔╙╔╞╔©║╪╔ж"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "╔╦╔Ц╔С╔в"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Ёз╢О"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "╔╣╔С╔в╔К"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -581,15 +582,15 @@
msgid "Initialize"
msgstr "╫И╢Э╡╫"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr "ачфЧ╓╣╓Л╓©╔╜║╪╓оFastTracker╔Б╔╦╔Е║╪╔К╓к╢ь╓╧╓Кфцйл╓й╔╜║╪╔╙╔у╡╩иД╓г╓╧║ё"
-#: app/keys.c:136
+#: app/keys.c:139
msgid "Upper Octave Keys..."
msgstr "╔╙╔╞╔©║╪╔ж╬Е╓н╔╜║╪..."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -598,11 +599,11 @@
"╦╟хв╓н╬Ех╬й╛╓к╔╜║╪╓╛╓╒╓Й╓ч╓╧║ё╔╜║╪c╓оиАдлTAB╔╜║╪╓н╠╕╓н╔╜║╪╓г╓╧║ё╩д╓Й╓н\n"
"╔╜║╪╓о║╒╬ЕиТ╓н©Т╩З╔╜║╪╓н╧т╓Р╢ч╓С╓г║╒╔т╔╒╔н╓н╦╟хв╓н╓Х╓╕╓кйб╓С╓г╓╓╓ч╓╧║ё"
-#: app/keys.c:143
+#: app/keys.c:146
msgid "Lower Octave Keys..."
msgstr "╔╙╔╞╔©║╪╔ж╡╪╓н╔╜║╪..."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -611,47 +612,47 @@
"╦╟хв╓н╡╪х╬й╛╓к╔╜║╪╓╛╓╒╓Й╓ч╓╧║ё╔╜║╪c╓оиАдл╨╦Shift╔╜║╪╓н╠╕╓н╨г╫И╓нй╦╩З╔╜║╪\n"
"╓г╓╧║ё╩д╓Й╓н╔╜║╪╓о║╒╬ЕиТ╓н╧т╓Р╢ч╓С╓г║╒╔т╔╒╔н╓н╦╟хв╓н╓Х╓╕╓кйб╓С╓г╓╓╓ч╓╧║ё"
-#: app/keys.c:150
+#: app/keys.c:153
msgid "Other Keys..."
msgstr "б╬╓н╔╜║╪..."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "б╬╓нЁф╪О╔╜║╪"
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "╣║г╫"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "ЁДеЖ"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "╔╜║╪╔э║╪╔июъдЙ"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "╔╜║╪║╕╔╟╔К║╪╔вюБлю"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "╔╜║╪юБлю"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "╔Б╔г╔ё╔у╔║╔╓╔╒"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "а╙бР╓╣╓Л╓©╔╜║╪╓РЁп╓╗╓К"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr "а╢╓ф╓н╔╜║╪╓РЁп╓╗╓К"
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
@@ -659,15 +660,15 @@
"╓╙к╬╓ъ╓нах╧Г╓╩╓н╔╜║╪╓Р╡║╓╥╓ф╓╞╓ю╓╣╓╓!\n"
"╪Х╬ц╓╧╓к╓о╨╦╓н╟ЛмВ╓г╔╞╔Й╔ц╔╞╓╥╓ф╓╞╓ю╓╣╓╓"
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr "н╩╡Р"
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr "е╛мя"
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
@@ -675,7 +676,7 @@
"╔╜║╪╔э║╪╔июъдЙ╔у╔║╔╓╔К╓╛ит╢╟а╢╓г╓╧║ё\n"
"╔╜║╪╔э║╪╔июъдЙ╔ю╔╓╔╒╔М╔╟╓Р╩хмя╓╥╓ф╓╞╓ю╓╣╓╓║ё"
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -701,496 +702,514 @@
"╫╙н╩╓╥╓©╓╓╓н╓оЁн╓╚╓г╓╧╓╚?\n"
"а╢╓ф╓нйя╧╧╓╛╪╨╓О╓Л╓ч╓╧!"
-#: app/menubar.c:267
+#: app/menubar.c:280
msgid "_Open..."
msgstr "Ё╚╓╞(_O)..."
-#: app/menubar.c:269
+#: app/menubar.c:282
msgid "Save _as..."
msgstr "йщб╦(_a)..."
-#: app/menubar.c:275
+#: app/menubar.c:288
msgid "Save Module as _WAV..."
msgstr "_WAV╓х╓╥╓ф╔Б╔╦╔Е║╪╔К╓Рйщб╦..."
-#: app/menubar.c:277
+#: app/menubar.c:290
#, fuzzy
msgid "Save XM without samples..."
msgstr "╔╣╔С╔в╔Кйщб╦..."
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr "╫╙н╩(_Q)"
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr "а╢╓ф╬ц╣Н(_A)"
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr "╔я╔©║╪╔С╓н╓ъ╬ц╣Н(_P)"
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr "╔Б╔╦╔Е║╪╔К╨ге╛╡╫(_O)"
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr "юз╪Х(_u)"
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr "╔Ё╔т║╪(_C)"
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr "е╫иу(_P)"
-#: app/menubar.c:317
+#: app/menubar.c:330
#, fuzzy
msgid "_Kill notes"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/╨О╫Э(_D)"
-#: app/menubar.c:319
+#: app/menubar.c:332
msgid "_Insert"
msgstr "ачфЧ(_I)"
-#: app/menubar.c:321
+#: app/menubar.c:334
msgid "_Delete"
msgstr "╨О╫Э(_D)"
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
#, fuzzy
msgid "_Mark mode"
msgstr "╔ч║╪╔╞(_M)"
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
#, fuzzy
msgid "C_lear block marks"
msgstr "╔╣╔С╔в╔К╬ц╣Н"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr "_Jazzйт╫╦╔Б║╪╔и"
-#: app/menubar.c:351
+#: app/menubar.c:368
msgid "Transp_osition..."
msgstr "╟эд╢(_o)..."
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr "╔я╔©║╪╔С(_P)"
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr "╔х╔И╔ц╔╞(_T)"
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr "а╙бР(_S)"
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr "л╓╩хмя╔я╔©║╪╔С╦║╨В(_F)"
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr "л╓╩хмя╔я╔©║╪╔С╓к╔╚╔Л╔С╔х╓Р╔Ё╔т║╪(_C)"
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr "л╓╩хмя╔я╔©║╪╔С╬ц╣Н(_l)"
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr "╔я╔©║╪╔С║╕╔я╔ц╔╞(_P)"
-#: app/menubar.c:399
+#: app/menubar.c:416
msgid "_Load XI..."
msgstr "XI╔М║╪╔и(_L)..."
-#: app/menubar.c:401
+#: app/menubar.c:418
msgid "_Save XI..."
msgstr "XIйщб╦(_S)..."
-#: app/menubar.c:406
+#: app/menubar.c:423
msgid "_Clear Current"
msgstr "╔╚╔Л╔С╔х╬ц╣Н(_C)"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr "л╓╩хмяЁз╢О╨О╫Э(_D)"
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr "_Backing Store╩хмя"
-#: app/menubar.c:421
+#: app/menubar.c:438
msgid "_Previous font"
msgstr "а╟╓н╔у╔╘╔С╔х(_P)"
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr "╪║╓н╔у╔╘╔С╔х(_N)"
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr "╔╙╔╥╔М╔╧╔Ё║╪╔ви╫╪╗(_O)"
-#: app/menubar.c:434
+#: app/menubar.c:451
msgid "_Tracker"
msgstr "╔х╔И╔ц╔╚║╪(_T)"
-#: app/menubar.c:438
+#: app/menubar.c:455
msgid "_Keyboard Configuration..."
msgstr "╔╜║╪╔э║╪╔июъдЙ(_K)..."
-#: app/menubar.c:440
+#: app/menubar.c:457
msgid "_Audio Configuration..."
msgstr "╔╙║╪╔г╔ё╔╙юъдЙ(_A)..."
-#: app/menubar.c:442
+#: app/menubar.c:459
msgid "_GUI Configuration..."
msgstr "GUIюъдЙ(_G)..."
-#: app/menubar.c:448
+#: app/menubar.c:465
msgid "_MIDI Configuration..."
msgstr "MIDIюъдЙ..."
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr "юъдЙ╓Р╨ёйщб╦(_S)"
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr "╫╙н╩╩Ч╓кюъдЙ╓Рйщб╦(_E)"
-#: app/menubar.c:462
+#: app/menubar.c:479
msgid "_About..."
msgstr "╬ПйС(_A)..."
-#: app/menubar.c:467
+#: app/menubar.c:484
msgid "Show _Tips..."
msgstr "╣╩╓ни╫╪╗(_T)..."
-#: app/menubar.c:469
+#: app/menubar.c:486
msgid "_XM Effects..."
msgstr "_XM╦З╡л..."
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr "╔у╔║╔╓╔К(_F)"
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr "╔Б╔╦╔Е║╪╔К(_M)"
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr "йт╫╦(_E)"
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr "Ёз╢О(_I)"
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr "юъдЙ(_S)"
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr "╔ь╔К╔в(_H)"
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr "/╔у╔║╔╓╔К"
-#: app/menubar.c:520
+#: app/menubar.c:537
msgid "/File/_Open..."
msgstr "/╔у╔║╔╓╔К/Ё╚╓╞(_O)..."
-#: app/menubar.c:521
+#: app/menubar.c:538
msgid "/File/Save _as..."
msgstr "/╔у╔║╔╓╔К/йщб╦(_a)..."
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr "/╔у╔║╔╓╔К/-"
-#: app/menubar.c:523
+#: app/menubar.c:540
msgid "/File/Save Module as _WAV..."
msgstr "/╔у╔║╔╓╔К/_WAV╓х╓╥╓ф╔Б╔╦╔Е║╪╔К╓Рйщб╦..."
-#: app/menubar.c:524
+#: app/menubar.c:541
#, fuzzy
msgid "/File/Save XM without samples..."
msgstr "/╔у╔║╔╓╔К/_WAV╓х╓╥╓ф╔Б╔╦╔Е║╪╔К╓Рйщб╦..."
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr "/╔у╔║╔╓╔К/╫╙н╩(_Q)"
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr "/╔Б╔╦╔Е║╪╔К"
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr "/╔Б╔╦╔Е║╪╔К/а╢╓ф╬ц╣Н(_A)"
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr "/╔Б╔╦╔Е║╪╔К/╔я╔©║╪╔С╓н╓ъ╬ц╣Н(_P)"
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr "/╔Б╔╦╔Е║╪╔К/╔Б╔╦╔Е║╪╔К╨ге╛╡╫(_O)"
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr "/йт╫╦"
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr "/йт╫╦/_Jazzйт╫╦╔Б║╪╔и"
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr "/йт╫╦/-"
-#: app/menubar.c:534
+#: app/menubar.c:551
msgid "/Edit/_Transposition..."
msgstr "/йт╫╦/╟эд╢(_T)..."
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr "/йт╫╦/╔я╔©║╪╔С"
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr "/йт╫╦/╔я╔©║╪╔С/юз╪Х(_u)"
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr "/йт╫╦/╔я╔©║╪╔С/╔Ё╔т║╪(_C)"
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr "/йт╫╦/╔я╔©║╪╔С/е╫иу(_P)"
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr "/йт╫╦/╔х╔И╔ц╔╞"
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/юз╪Х(_u)"
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/╔Ё╔т║╪(_C)"
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/е╫иу(_P)"
-#: app/menubar.c:544
+#: app/menubar.c:561
#, fuzzy
msgid "/Edit/Track/_Kill notes"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/╨О╫Э(_D)"
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/ачфЧ(_I)"
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr "/йт╫╦/╔х╔И╔ц╔╞/╨О╫Э(_D)"
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr "/йт╫╦/а╙бР"
-#: app/menubar.c:548
+#: app/menubar.c:565
#, fuzzy
msgid "/Edit/Selection/_Mark mode"
msgstr "/йт╫╦/а╙бР/╔ч║╪╔╞(_M)"
-#: app/menubar.c:549
+#: app/menubar.c:566
#, fuzzy
msgid "/Edit/Selection/C_lear block marks"
msgstr "/йт╫╦/а╙бР/╔ч║╪╔╞(_M)"
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr "/йт╫╦/а╙бР/юз╪Х(_u)"
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr "/йт╫╦/а╙бР/╔Ё╔т║╪(_C)"
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr "/йт╫╦/а╙бР/е╫иу(_P)"
-#: app/menubar.c:553
+#: app/menubar.c:570
#, fuzzy
msgid "/Edit/Selection/_Interpolate effects"
msgstr "/йт╫╦/а╙бР/е╫иу(_P)"
-#: app/menubar.c:554
+#: app/menubar.c:571
+#, fuzzy
+msgid "/Edit/Track/Increment cmd value"
+msgstr "/йт╫╦/╔х╔И╔ц╔╞/ачфЧ(_I)"
+
+#: app/menubar.c:572
+#, fuzzy
+msgid "/Edit/Track/Decrement cmd value"
+msgstr "/йт╫╦/╔х╔И╔ц╔╞/╨О╫Э(_D)"
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr "/╔я╔©║╪╔С"
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr "/╔я╔©║╪╔С/л╓╩хмя╔я╔©║╪╔С╦║╨В(_F)"
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr "/╔я╔©║╪╔С/л╓╩хмя╔я╔©║╪╔С╓к╔╚╔Л╔С╔х╓Р╔Ё╔т║╪(_C)"
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr "/╔я╔©║╪╔С/л╓╩хмя╔я╔©║╪╔С╬ц╣Н(_l)"
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr "/╔я╔©║╪╔С/╔я╔©║╪╔С║╕╔я╔ц╔╞(_P)"
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr "/Ёз╢О"
-#: app/menubar.c:560
+#: app/menubar.c:579
msgid "/Instrument/_Load XI..."
msgstr "/Ёз╢О/XI╔М║╪╔и(_L)..."
-#: app/menubar.c:561
+#: app/menubar.c:580
msgid "/Instrument/_Save XI..."
msgstr "/Ёз╢О/XIйщб╦(_S)..."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr "/Ёз╢О/-"
-#: app/menubar.c:563
+#: app/menubar.c:582
msgid "/Instrument/_Clear Current"
msgstr "/Ёз╢О/╔╚╔Л╔С╔х╬ц╣Н(_C)"
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr "/Ёз╢О/л╓╩хмяЁз╢О╨О╫Э(_D)"
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr "/юъдЙ"
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr "/юъдЙ/╔╙╔╥╔М╔╧╔Ё║╪╔ви╫╪╗(_O)"
-#: app/menubar.c:568
+#: app/menubar.c:587
msgid "/Settings/_Tracker"
msgstr "/юъдЙ/╔х╔И╔ц╔╚║╪(_T)"
-#: app/menubar.c:569
+#: app/menubar.c:588
msgid "/Settings/Tracker/Use _Backing Store"
msgstr "/юъдЙ/╔х╔И╔ц╔╚║╪/_Backing Store╩хмя"
-#: app/menubar.c:570
+#: app/menubar.c:589
msgid "/Settings/Tracker/_Previous font"
msgstr "/юъдЙ/╔х╔И╔ц╔╚║╪/а╟╓н╔у╔╘╔С╔х(_P)"
-#: app/menubar.c:571
+#: app/menubar.c:590
msgid "/Settings/Tracker/_Next font"
msgstr "/юъдЙ/╔х╔И╔ц╔╚║╪/╪║╓н╔у╔╘╔С╔х(_N)"
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr "/юъдЙ/-"
-#: app/menubar.c:573
+#: app/menubar.c:592
msgid "/Settings/_Keyboard Configuration..."
msgstr "/юъдЙ/╔╜║╪╔э║╪╔июъдЙ(_K)..."
-#: app/menubar.c:574
+#: app/menubar.c:593
msgid "/Settings/_Audio Configuration..."
msgstr "/юъдЙ/╔╙║╪╔г╔ё╔╙юъдЙ(_A)..."
-#: app/menubar.c:575
+#: app/menubar.c:594
msgid "/Settings/_GUI Configuration..."
msgstr "/юъдЙ/GUIюъдЙ(_G)..."
-#: app/menubar.c:576
+#: app/menubar.c:595
msgid "/Settings/_MIDI Configuration..."
msgstr "/юъдЙ/MIDIюъдЙ..."
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr "/юъдЙ/юъдЙ╓Р╨ёйщб╦(_S)"
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr "/юъдЙ/╫╙н╩╩Ч╓кюъдЙ╓Рйщб╦(_E)"
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr "/╔ь╔К╔в"
-#: app/menubar.c:581
+#: app/menubar.c:600
msgid "/Help/_About..."
msgstr "/╔ь╔К╔в/╬ПйС(_A)..."
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr "/╔ь╔К╔в/-"
-#: app/menubar.c:583
+#: app/menubar.c:602
msgid "/Help/Show _Tips..."
msgstr "/╔ь╔К╔в/╣╩╓ни╫╪╗(_T)..."
-#: app/menubar.c:584
+#: app/menubar.c:603
msgid "/Help/_XM Effects..."
msgstr "/╔ь╔К╔в/_XM╦З╡л..."
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr "Ёз╢Ол╬"
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr "╔╣╔С╔в╔К©Т"
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr "╔╣╔С╔в╔Кл╬"
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr "юЧ╥©"
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr "Amiga"
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr "╔Б╔╦╔Е║╪╔К╬ПйС"
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr "╤йл╬:"
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr "╪Чгх©Т:"
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr "ProTracker╔Б║╪╔и"
@@ -1206,7 +1225,7 @@
msgid "Restart pos"
msgstr "╨фЁ╚╩о╟лцж"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
@@ -1214,148 +1233,148 @@
"юъдЙ╔у╔║╔╓╔К╓Р╣╜╡╠╓╧╓К╓©╓А║╒╓╒╓й╓©╓н╔ш║╪╔Ю║╕╔г╔ё╔Л╔╞╔х╔Й╓к\n"
"╔г╔ё╔Л╔╞╔х╔Й'.soundtracker'╓╛ю╦ю╝╓╣╓Л╓ч╓╧║ё\n"
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr "╔К║╪╔вл╣╓╥"
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr "╔т╔С╔щ╔С"
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr "8╔с╔ц╔х"
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr "16╔с╔ц╔х"
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr "╔╣╔С╔в╔Кйт╫╦"
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr "╡╩нл"
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr ""
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr "хЫд╢ю╟"
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
msgid "Selection:"
msgstr "а╙бР:"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
msgid "None"
msgstr "л╣"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr "а╢╓ф"
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
msgid "Length:"
msgstr "д╧╓╣:"
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
#, fuzzy
msgid "Set as loop"
msgstr "╔К║╪╔вЁ╚╩оюъдЙ/╔К║╪╔в"
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr ""
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
msgid "Load Sample..."
msgstr "╔╣╔С╔в╔К║╕╔М║╪╔и..."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
msgid "Save WAV..."
msgstr "WAVйщб╦..."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
msgid "Save region as WAV..."
msgstr "WAV╓х╓╥╓фхо╟ойщб╦..."
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr "WAVйщб╦"
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr "хо╟ойщб╦"
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr "╔Б╔к╔©"
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr ""
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr "а╙бРиТй╛ЁхбГ"
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr "а╢╓фи╫╪╗"
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr "ЁхбГ(+50%)"
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr "╫л╬╝(-50%)"
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
msgid "Reverse"
msgstr "╔Й╔п║╪╔╧"
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr "юз╪Х"
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr "╟эф╟"
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr "╔Ё╔т║╪"
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr "е╫иу"
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
msgid "Clear Sample"
msgstr "╔╣╔С╔в╔К╬ц╣Н"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
msgid "(no selection)"
msgstr "(л╣а╙бР)"
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr "<╨ёе╫иу╓╠╓╣╓Л╓ч╓╥╓©>"
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr "фи╓ъ╧Ч╓ъ╔╗╔И║╪║ё"
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
msgid "Load stereo sample"
msgstr "╔╧╔ф╔Л╔╙║╕╔╣╔С╔в╔К║╕╔М║╪╔и"
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1367,24 +1386,24 @@
"\n"
"╔М║╪╔и╓╧╓К╓©╓А╓н╔а╔Ц╔С╔м╔К╓Ра╙╓С╓г╓╞╓ю╓╣╓╓:"
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
msgid "Left"
msgstr "╨╦"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr "╔ъ╔ц╔╞╔╧"
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
msgid "Right"
msgstr "╠╕"
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
#, fuzzy
msgid "Load raw sample"
msgstr "╔╧╔ф╔Л╔╙║╕╔╣╔С╔в╔К║╕╔М║╪╔и"
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1392,83 +1411,83 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr "н╩╡Р"
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr "╔╣╔С╔в╔К╓╛фи╓ъ╧Ч╓А╓ч╓╩╓С"
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr ""
"╔╣╔С╔в╔К╓╛╦╫╨ъ╓н╔ъ╔╜╔╣║╕╔Б╔╦╔Е║╪╔К╓к╓од╧╡А╓╝╓ч╓╧║ё\n"
"╓х╓к╓╚╓╞╔М║╪╔и╓╥╓ч╓╧║ё"
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr "2╔а╔Ц╔С╔м╔К╓ч╓г╓г 8║╒16╔с╔ц╔х║╕╔╣╔С╔в╔К╓н╓ъ╫ХмЩ╓г╓╜╓ч╓╧"
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr "╡©╓Бйщб╦╓╥╓й╓╓║ё"
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr "╔╣╔С╔в╔Й╔С╔╟Ё╚╩о"
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr "╔╣╔С╔в╔Й╔С╔╟║╕╔и╔И╔╓╔п╓╛╩хмя╓г╓╜╓ч╓╩╓С"
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr "╔╣╔С╔в╔Й╔С╔╟║╕╔╕╔ё╔С╔и╔╕"
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr "<╨ё╔╣╔С╔в╔Й╔С╔╟╓╥╓ч╓╥╓©>"
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
"о©╡╩╓╥╓©╔╣╔С╔в╔К╓╛╦╫╨ъ╓н╔ъ╔╜╔╣║╕╔Б╔╦╔Е║╪╔К╓к╓од╧╡А╓╝╓ч╓╧║ё\n"
"╓х╓к╓╚╓╞╓╫╓Л╓Р╩х╓╓╓ч╓╧║ё"
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr "╣╛Ёй╡╫"
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr "╪б╧т"
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr ""
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr "а╙бР╩Ч╓к╡╩нл╓РюЧ╥©╓к╔у╔╖║╪╔и╓╧╓К"
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr "╨╦ [%]:"
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr "╠╕ [%]:"
Binary files soundtracker-0.5.7/po/pl.gmo and soundtracker-0.5.8/po/pl.gmo differ
diff -urN soundtracker-0.5.7/po/pl.po soundtracker-0.5.8/po/pl.po
--- soundtracker-0.5.7/po/pl.po Tue Aug 15 18:36:15 2000
+++ soundtracker-0.5.8/po/pl.po Tue Sep 19 18:20:27 2000
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: soundtracker\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: 1999-09-05 15:58+0200\n"
"Last-Translator: GNOME PL Team\n"
"Language-Team: Polish \n"
@@ -49,7 +49,7 @@
msgid "Mixers"
msgstr "Modyfikatory:"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr "Zamknij"
@@ -70,12 +70,12 @@
msgstr "Zmiany odnios╠ efekt po ponownym rozpoczЙciu odgrywania."
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "Rozdzielczo╤Ф:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "KanaЁy:"
@@ -153,7 +153,7 @@
msgid "no settings (yet), sorry!"
msgstr "na razie brak ustawieЯ!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr "Nie mo©na otworzyФ pliku do zapisu."
@@ -180,31 +180,31 @@
"Nie mo©na otworzyФ /dev/dsp dla wyj╤cia d╪wiЙku:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "DЁugo╤Ф"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "Bie©╠cy"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "PrzesuniЙcie"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "Warto╤Ф"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "Wstaw"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "UsuЯ"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -218,23 +218,23 @@
"tylko w\n"
"wersji GNOME"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "Utrzymanie"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "Punkt"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "PЙtla"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "Pocz╠tek"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "Koniec"
@@ -257,7 +257,7 @@
msgid "Save Song"
msgstr "OdtwСrz utwСr"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr "Wczytaj prСbkЙ"
@@ -285,68 +285,69 @@
msgid "Operation not supported."
msgstr ""
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "CzЙstotliwo╤Ф oscyloskopСw"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "CzЙstotliwo╤Ф trackera"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "Konfiguracja GUI"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "Zapis szesnastkowy"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr ""
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
#, fuzzy
msgid "Advance cursor horizontally in effect columns"
msgstr "Przesuwanie kursora w dСЁ w kolumnach efektСw"
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr ""
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr ""
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "Wykorzystanie antyaliasingu w edytorze obwiedni"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr "Zmiany odnios╠ skutek po ponownym uruchomieniu SoundTrackera."
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "Rozmiar bufora oscyloskopСw [MB]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr ""
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "'Zapisz XM' zapisuje wszystkie niepuste patterny"
@@ -436,8 +437,8 @@
msgid "Question"
msgstr "Pytanie"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "Anuluj"
@@ -453,7 +454,7 @@
msgid "Tempo"
msgstr "Tempo"
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -461,68 +462,68 @@
"Czy na pewno chcesz porzuciФ bie©╠cy projekt?\n"
"Wszystkie zmiany zostan╠ utracone!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "Czy na pewno chcesz nadpisaФ plik?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "Wczytaj XM..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "Zapisz XM..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr ""
-#: app/gui.c:1289
+#: app/gui.c:1295
#, fuzzy
msgid "Save song as XM..."
msgstr "Zapisz XM..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "OdtwСrz utwСr"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "OdtwСrz pattern"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "Zatrzymaj"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "Liczba kanaЁСw:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "Pattern"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "DЁugPat"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "Oktawa"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "Skok"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Instr"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "PrСbka"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -604,16 +605,16 @@
msgid "Initialize"
msgstr "Inicjuj"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr "Klawisz, ktСry wstawia specjaln╠ nutЙ keyoff dla moduЁСw FastTrackera."
-#: app/keys.c:136
+#: app/keys.c:139
#, fuzzy
msgid "Upper Octave Keys..."
msgstr "Klawisze gСrnej oktawy.."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -623,12 +624,12 @@
"klawisza TAB. PozostaЁe klawisze powinny zostaФ uЁo©one zgodnie z ukЁadem "
"klawiszy fortepianu, wЁ╠czaj╠c w to klawisze poЁo©one wy©ej."
-#: app/keys.c:143
+#: app/keys.c:146
#, fuzzy
msgid "Lower Octave Keys..."
msgstr "Klawisze dolnej oktawy.."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -638,48 +639,48 @@
"klawisza Shift. PozostaЁe klawisze powinny zostaФ uЁo©one zgodnie z ukЁadem "
"klawiszy fortepianu, wЁ╠czaj╠c w to klawisze poЁo©one wy©ej."
-#: app/keys.c:150
+#: app/keys.c:153
#, fuzzy
msgid "Other Keys..."
msgstr "Inne klawisze.."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "RС©ne inne klawisze"
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "Funkcja"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "Przypisanie"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "Konfiguracja klawiatury"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "Opis grupy klawiszy"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "Opis klawisza"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "Modyfikatory:"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "ZapamiЙtaj wybrany klawisz"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr "ZapamiЙtaj wszystkie klawisze"
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
@@ -687,15 +688,15 @@
"Wci╤nij po©╠dan╠ kombinacjЙ klawiszy!\n"
"Kliknij na li╤cie po lewej stronie aby anulowaФ"
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr "Ok"
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr ""
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
@@ -703,7 +704,7 @@
"Plik z konfiguracj╠ klawiatury jest uszkodzony.\n"
"Wykorzystaj okno konfiguracji klawiatury."
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -728,535 +729,551 @@
"Czy na pewno chcesz zakoЯczyФ?\n"
"Wszystkie zmiany zostan╠ utracone!"
-#: app/menubar.c:267
+#: app/menubar.c:280
#, fuzzy
msgid "_Open..."
msgstr "_OtwСrz.."
-#: app/menubar.c:269
+#: app/menubar.c:282
#, fuzzy
msgid "Save _as..."
msgstr "Z_apisz jako.."
-#: app/menubar.c:275
+#: app/menubar.c:288
#, fuzzy
msgid "Save Module as _WAV..."
msgstr "Zapisz WAV.."
-#: app/menubar.c:277
+#: app/menubar.c:290
#, fuzzy
msgid "Save XM without samples..."
msgstr "Wczytaj prСbkЙ.."
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr "_ZakoЯcz"
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr "Wyczy╤Ф _wszystko"
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr "Wyczy╤Ф tylko _patterny"
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr "_Optymalizuj moduЁ"
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
#, fuzzy
msgid "C_ut"
msgstr "Wytnij"
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
#, fuzzy
msgid "_Copy"
msgstr "Kopiuj"
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
#, fuzzy
msgid "_Paste"
msgstr "Wklej"
-#: app/menubar.c:317
+#: app/menubar.c:330
#, fuzzy
msgid "_Kill notes"
msgstr "/Edycja/-"
-#: app/menubar.c:319
+#: app/menubar.c:332
#, fuzzy
msgid "_Insert"
msgstr "Wstaw"
-#: app/menubar.c:321
+#: app/menubar.c:334
#, fuzzy
msgid "_Delete"
msgstr "UsuЯ"
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
msgid "_Mark mode"
msgstr ""
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
#, fuzzy
msgid "C_lear block marks"
msgstr "Wyczy╤Ф"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr "_Jazzowy tryb edycji"
-#: app/menubar.c:351
+#: app/menubar.c:368
#, fuzzy
msgid "Transp_osition..."
msgstr "_Transpozycja.."
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr "P_attern"
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr ""
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
#, fuzzy
msgid "_Selection"
msgstr "_Ustawienia"
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr "_Znajd╪ nieu©ywany pattern"
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr "_Kopiuj bie©╠cy do nieu©ywanego patternu"
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr "_Wyczy╤Ф nieu©ywane patterny"
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr "_Kompresuj patterny"
-#: app/menubar.c:399
+#: app/menubar.c:416
#, fuzzy
msgid "_Load XI..."
msgstr "_Wczytaj XI.."
-#: app/menubar.c:401
+#: app/menubar.c:418
#, fuzzy
msgid "_Save XI..."
msgstr "Zapisz XM..."
-#: app/menubar.c:406
+#: app/menubar.c:423
#, fuzzy
msgid "_Clear Current"
msgstr "Bie©╠cy"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr "_UsuЯ nieu©ywane instrumenty"
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr "Wykorzystanie _mechanizmu \"Backing store\""
-#: app/menubar.c:421
+#: app/menubar.c:438
#, fuzzy
msgid "_Previous font"
msgstr "Poprzednia porada"
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr ""
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr "Wy╤wietlanie _oscyloskopСw"
-#: app/menubar.c:434
+#: app/menubar.c:451
#, fuzzy
msgid "_Tracker"
msgstr "Tryb ProTrackera"
-#: app/menubar.c:438
+#: app/menubar.c:455
#, fuzzy
msgid "_Keyboard Configuration..."
msgstr "Konfiguracja _klawiatury..."
-#: app/menubar.c:440
+#: app/menubar.c:457
#, fuzzy
msgid "_Audio Configuration..."
msgstr "Kongifuracja _d╪wiЙku.."
-#: app/menubar.c:442
+#: app/menubar.c:459
#, fuzzy
msgid "_GUI Configuration..."
msgstr "Konfiguracja _GUI.."
-#: app/menubar.c:448
+#: app/menubar.c:465
#, fuzzy
msgid "_MIDI Configuration..."
msgstr "Konfiguracja _GUI.."
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr "_Zapisz ustawienia"
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr "Zapis ustawieЯ przed _zakoЯczeniem"
-#: app/menubar.c:462
+#: app/menubar.c:479
#, fuzzy
msgid "_About..."
msgstr "_Informacje o.."
-#: app/menubar.c:467
+#: app/menubar.c:484
#, fuzzy
msgid "Show _Tips..."
msgstr "Wy╤wietl _porady.."
-#: app/menubar.c:469
+#: app/menubar.c:486
#, fuzzy
msgid "_XM Effects..."
msgstr "Efekty _XM.."
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr "_Plik"
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr "_ModuЁ"
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr "_Edycja"
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr "_Instrument"
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr "_Ustawienia"
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr "Pomo_c"
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr "/_Plik"
-#: app/menubar.c:520
+#: app/menubar.c:537
#, fuzzy
msgid "/File/_Open..."
msgstr "/_Plik/_OtwСrz.."
-#: app/menubar.c:521
+#: app/menubar.c:538
#, fuzzy
msgid "/File/Save _as..."
msgstr "/Plik/Z_apisz jako.."
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr "/Plik/-"
-#: app/menubar.c:523
+#: app/menubar.c:540
#, fuzzy
msgid "/File/Save Module as _WAV..."
msgstr "/Plik/Z_apisz jako.."
-#: app/menubar.c:524
+#: app/menubar.c:541
#, fuzzy
msgid "/File/Save XM without samples..."
msgstr "/Plik/Z_apisz jako.."
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr "/Plik/_ZakoЯcz"
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr "/_ModuЁ"
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr "/ModuЁ/Wyczy╤Ф _wszystko"
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr "/ModuЁ/Wyczy╤Ф tylko _patterny"
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr "/ModuЁ/_Optymalizuj moduЁ"
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr "/_Edycja"
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr "/Edycja/_Jazzowy tryb edycji"
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr "/Edycja/-"
-#: app/menubar.c:534
+#: app/menubar.c:551
#, fuzzy
msgid "/Edit/_Transposition..."
msgstr "/Edycja/_Transpozycja.."
-#: app/menubar.c:536
+#: app/menubar.c:553
#, fuzzy
msgid "/Edit/_Pattern"
msgstr "/P_attern"
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr ""
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr ""
-#: app/menubar.c:539
+#: app/menubar.c:556
#, fuzzy
msgid "/Edit/Pattern/_Paste"
msgstr "/Pattern/_Kompresuj patterny"
-#: app/menubar.c:540
+#: app/menubar.c:557
#, fuzzy
msgid "/Edit/_Track"
msgstr "/Edycja/-"
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr ""
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr ""
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr ""
-#: app/menubar.c:544
+#: app/menubar.c:561
#, fuzzy
msgid "/Edit/Track/_Kill notes"
msgstr "/Edycja/-"
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr ""
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr ""
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr ""
-#: app/menubar.c:548
+#: app/menubar.c:565
msgid "/Edit/Selection/_Mark mode"
msgstr ""
-#: app/menubar.c:549
+#: app/menubar.c:566
msgid "/Edit/Selection/C_lear block marks"
msgstr ""
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr ""
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr ""
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr ""
-#: app/menubar.c:553
+#: app/menubar.c:570
msgid "/Edit/Selection/_Interpolate effects"
msgstr ""
-#: app/menubar.c:554
+#: app/menubar.c:571
+msgid "/Edit/Track/Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:572
+msgid "/Edit/Track/Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr "/P_attern"
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr "/Pattern/_Znajd╪ nieu©ywany pattern"
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr "/Pattern/_Kopiuj bie©╠cy do nieu©ywanego patternu"
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr "/Pattern/W_yczy╤Ф nieu©ywane patterny"
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr "/Pattern/_Kompresuj patterny"
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr "/_Instrument"
-#: app/menubar.c:560
+#: app/menubar.c:579
#, fuzzy
msgid "/Instrument/_Load XI..."
msgstr "/Instrument/_Wczytaj XI.."
-#: app/menubar.c:561
+#: app/menubar.c:580
#, fuzzy
msgid "/Instrument/_Save XI..."
msgstr "/Instrument/_Wczytaj XI.."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr "/Instrument/-"
-#: app/menubar.c:563
+#: app/menubar.c:582
#, fuzzy
msgid "/Instrument/_Clear Current"
msgstr "/Instrument/_UsuЯ nieu©ywane instrumenty"
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr "/Instrument/_UsuЯ nieu©ywane instrumenty"
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr "/_Ustawienia"
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr "/Ustawienia/Wy╤wietlanie _oscyloskopСw"
-#: app/menubar.c:568
+#: app/menubar.c:587
#, fuzzy
msgid "/Settings/_Tracker"
msgstr "/Ustawienia/-"
-#: app/menubar.c:569
+#: app/menubar.c:588
#, fuzzy
msgid "/Settings/Tracker/Use _Backing Store"
msgstr "/Ustawienia/Wykorzystanie _mechanizmu \"Backing store\""
-#: app/menubar.c:570
+#: app/menubar.c:589
#, fuzzy
msgid "/Settings/Tracker/_Previous font"
msgstr "/Ustawienia/Zapis ustawieЯ przed zakoЯczeniem"
-#: app/menubar.c:571
+#: app/menubar.c:590
#, fuzzy
msgid "/Settings/Tracker/_Next font"
msgstr "/Ustawienia/Zapis ustawieЯ przed zakoЯczeniem"
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr "/Ustawienia/-"
-#: app/menubar.c:573
+#: app/menubar.c:592
#, fuzzy
msgid "/Settings/_Keyboard Configuration..."
msgstr "/Ustawienia/Konfiguracja _klawiatury.."
-#: app/menubar.c:574
+#: app/menubar.c:593
#, fuzzy
msgid "/Settings/_Audio Configuration..."
msgstr "/Ustawienia/Konfiguracja _d╪wiЙku.."
-#: app/menubar.c:575
+#: app/menubar.c:594
#, fuzzy
msgid "/Settings/_GUI Configuration..."
msgstr "/Ustawienia/Konfiguracja _GUI.."
-#: app/menubar.c:576
+#: app/menubar.c:595
#, fuzzy
msgid "/Settings/_MIDI Configuration..."
msgstr "/Ustawienia/Konfiguracja _GUI.."
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr "/Ustawienia/_Zapisz ustawienia"
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr "/Ustawienia/_Zapisz ustawienia"
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr "/Pomo_c"
-#: app/menubar.c:581
+#: app/menubar.c:600
#, fuzzy
msgid "/Help/_About..."
msgstr "/Pomoc/_Informacje o.."
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr "/Pomoc/-"
-#: app/menubar.c:583
+#: app/menubar.c:602
#, fuzzy
msgid "/Help/Show _Tips..."
msgstr "/Pomoc/Wy╤wietl _porady.."
-#: app/menubar.c:584
+#: app/menubar.c:603
#, fuzzy
msgid "/Help/_XM Effects..."
msgstr "/Pomoc/Efekty _XM.."
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr "Nazwa instrumentu"
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr "#prСbk"
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr "Nazwa prСbki"
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr "Liniowe"
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr "Amiga"
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr "Informacje o module"
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr "Nazwa utworu:"
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr "CzЙstotliwo╤ci:"
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr "Tryb ProTrackera"
@@ -1272,7 +1289,7 @@
msgid "Restart pos"
msgstr "Pozycja ponowienia"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
@@ -1280,157 +1297,157 @@
"W katalogu domowym zostaЁ utworzony katalog .soundtracker, w\n"
"ktСrym zapisywane bЙd╠ pliki konfiguracyjne.\n"
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr "Bez pЙtli"
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr "PingPong"
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr "8 bitСw"
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr "16 bitСw"
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr "Edytor prСbek"
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr "GЁo╤no╤Ф"
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr "Przemieszczenie"
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr "Dopasowanie"
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
#, fuzzy
msgid "Selection:"
msgstr "Rozdzielczo╤Ф:"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
#, fuzzy
msgid "None"
msgstr "Nuta:"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr ""
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
#, fuzzy
msgid "Length:"
msgstr "DЁugo╤Ф"
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
msgid "Set as loop"
msgstr ""
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr "WzglNuta"
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
#, fuzzy
msgid "Load Sample..."
msgstr "Wczytaj prСbkЙ.."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
#, fuzzy
msgid "Save WAV..."
msgstr "Zapisz WAV.."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
#, fuzzy
msgid "Save region as WAV..."
msgstr "Zapisz WAV.."
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr "Zapisz WAV"
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr ""
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr "Monitoruj"
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr "Nachyl gЁo╤no╤Ф"
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr "PowiЙksz do zaznaczenia"
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr "Wy╤wietl caЁo╤Ф"
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr "PowiЙksz (+50%)"
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr "Pomniejsz (-50%)"
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
#, fuzzy
msgid "Reverse"
msgstr "UsuЯ"
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr "Wytnij"
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr "UsuЯ"
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr "Kopiuj"
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr "Wklej"
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
#, fuzzy
msgid "Clear Sample"
msgstr "Wczytaj prСbkЙ"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
#, fuzzy
msgid "(no selection)"
msgstr "PowiЙksz do zaznaczenia"
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr ""
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr "BЁ╠d odczytu."
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
#, fuzzy
msgid "Load stereo sample"
msgstr "Wczytaj prСbkЙ"
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1438,26 +1455,26 @@
"Please choose which channel to load:"
msgstr ""
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
#, fuzzy
msgid "Left"
msgstr "Lewy [%s]:"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr ""
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
#, fuzzy
msgid "Right"
msgstr "Prawy [%]:"
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
#, fuzzy
msgid "Load raw sample"
msgstr "Wczytaj prСbkЙ"
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1465,83 +1482,83 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr "OK"
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr "Nie mo©na wczytaФ prСbki"
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr ""
"PrСbka jest zbyt dЁuga dla aktualnego moduЁu miksera. Pomimo tego wczytywana."
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
#, fuzzy
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr "ObsЁugiwane s╠ tylko prСbki 8 i 16 bitowe"
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr ""
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr "Rozpocznij prСbkowanie"
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr ""
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr "Okno prСbkowania"
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr ""
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
"Nagrana prСbka jest zbyt dЁuga dla moduЁu miksera. Pomimo tego zostanie "
"wykorzystana."
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr "Normalizuj"
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr "Wykonaj"
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr "Nachylenie gЁo╤no╤ci"
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr "Liniowa zmiana gЁo╤no╤ci zaznaczonego fragmentu"
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr "Lewy [%s]:"
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr "Prawy [%]:"
Binary files soundtracker-0.5.7/po/ru.gmo and soundtracker-0.5.8/po/ru.gmo differ
diff -urN soundtracker-0.5.7/po/ru.po soundtracker-0.5.8/po/ru.po
--- soundtracker-0.5.7/po/ru.po Tue Aug 15 18:36:16 2000
+++ soundtracker-0.5.8/po/ru.po Tue Sep 19 18:20:27 2000
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: soundtracker-0.3.10\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: 2000-02-21 11:12+0200\n"
"Last-Translator: Michael Shigorin \n"
"Language-Team: Russian \n"
@@ -53,7 +53,7 @@
msgid "Mixers"
msgstr "Объединить"
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr "Закрыть"
@@ -74,12 +74,12 @@
msgstr "Эти изменения вступят в силу при следующем воспроизведении."
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr "Разрешение:"
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr "Каналы:"
@@ -160,7 +160,7 @@
msgid "no settings (yet), sorry!"
msgstr "(пока) нет настроек, сорри!"
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr "Невозможно открыть файл для записи."
@@ -187,31 +187,31 @@
"Невозможно открыть /dev/dsp для вывода звука:\n"
"%s"
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr "Длина"
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr "Текущий"
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr "Смещение"
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr "Значение"
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr "Вставка"
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr "Удаление"
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -225,23 +225,23 @@
"только в\n"
"GNOME-версии"
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr "Затухание"
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr "Точка"
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr "Цикл"
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr "Начало"
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr "Конец"
@@ -262,7 +262,7 @@
msgid "Save Song"
msgstr "Сохранить участок"
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr "Загрузить сэмпл"
@@ -286,68 +286,69 @@
msgid "Operation not supported."
msgstr "Операция не поддерживается."
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr "Частота осциллографа"
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr "Частота трекера"
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr "Конфигурация GUI"
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+#, fuzzy
+msgid "Hexadecimal row numbers"
msgstr "Использовать Hex-числа"
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr "Использовать заглавные буквы для Hex-чисел"
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
#, fuzzy
msgid "Advance cursor horizontally in effect columns"
msgstr "Продвигать курсор в колонках FX"
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr ""
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr ""
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr "Антиалиасинг в редакторе конверта"
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr "Перезапустите SoundTracker для учета этих изменений."
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr "Размер буфера осциллографов [Мб]"
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr "Подсвечивать строки:"
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr "`Сохранить XM' сохраняет все непустые паттерны"
@@ -439,8 +440,8 @@
msgid "Question"
msgstr "Вопрос"
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr "Отмена"
@@ -456,7 +457,7 @@
msgid "Tempo"
msgstr "Темп"
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
@@ -464,68 +465,68 @@
"Вы уверены, что хотите освободить текущий проект?\n"
"Все изменения будут потеряны!"
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr "Вы уверены, что хотите перезаписать файл?"
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr "Загрузить XM..."
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr "Сохранить XM..."
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr "Записать модуль как WAV..."
-#: app/gui.c:1289
+#: app/gui.c:1295
#, fuzzy
msgid "Save song as XM..."
msgstr "Сохранить участок как WAV..."
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr "Играть песню"
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr "Играть паттерн"
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr "Стоп"
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr "Количество каналов:"
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr "Паттерн"
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr "Длина паттерна:"
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr "Октава"
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr "Прыжок"
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr "Инструмент"
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr "Сэмпл"
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -605,15 +606,15 @@
msgid "Initialize"
msgstr "Инициализовать"
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr "Клавиша, вставляющая keyoff-ноту в FastTracker-модули"
-#: app/keys.c:136
+#: app/keys.c:139
msgid "Upper Octave Keys..."
msgstr "Клавиши верхней октавы..."
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
@@ -623,11 +624,11 @@
"Остальные клавиши расположены подобно клавиатуре пианино, включая клавиши с "
"цифрами в верхнем ряду."
-#: app/keys.c:143
+#: app/keys.c:146
msgid "Lower Octave Keys..."
msgstr "Клавиши нижней октавы..."
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
@@ -637,47 +638,47 @@
"LShift. Остальные клавиши расположены подобно клавиатуре пианино, включая "
"клавиши среднего буквенного ряда."
-#: app/keys.c:150
+#: app/keys.c:153
msgid "Other Keys..."
msgstr "Другие клавиши..."
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr "Разнообразные клавиши"
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr "Функция"
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr "Назначенная клавиша"
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr "Конфигурация клавиатуры"
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr "Пояснение групп клавиатуры"
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr "Пояснение клавиш"
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr "Модификаторы:"
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr "Запомнить выбранную клавишу"
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr "Запомнить все клавиши"
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
@@ -685,15 +686,15 @@
"Пожалуйста, нажмите желаемую комбинацию клавиш!\n"
"Щелкните по списку слева для отмены"
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr "ОК"
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr ""
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
@@ -701,7 +702,7 @@
"Файл конфигурации клавиатуры поврежден.\n"
"Пожалуйста, используйте Диалог конфигурации клавиатуры."
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -727,503 +728,521 @@
"Вы уверены, что хотите выйти?\n"
"Все изменения будут утеряны!"
-#: app/menubar.c:267
+#: app/menubar.c:280
msgid "_Open..."
msgstr "_Открыть..."
-#: app/menubar.c:269
+#: app/menubar.c:282
msgid "Save _as..."
msgstr "_Сохранить как..."
-#: app/menubar.c:275
+#: app/menubar.c:288
msgid "Save Module as _WAV..."
msgstr "Сохранить _модуль как WAV..."
-#: app/menubar.c:277
+#: app/menubar.c:290
#, fuzzy
msgid "Save XM without samples..."
msgstr "Сохранить сэмпл"
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr "_Выход"
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr "Очистить _все"
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr "Очистить только _паттерны"
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr "_Оптимизировать модуль"
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr "Выр_езать"
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr "_Копировать"
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr "_Вставить"
-#: app/menubar.c:317
+#: app/menubar.c:330
#, fuzzy
msgid "_Kill notes"
msgstr "/Правка/_Трек/_Удалить"
-#: app/menubar.c:319
+#: app/menubar.c:332
msgid "_Insert"
msgstr "_Добавить"
-#: app/menubar.c:321
+#: app/menubar.c:334
msgid "_Delete"
msgstr "_Удалить"
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
#, fuzzy
msgid "_Mark mode"
msgstr "_Отметить"
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
#, fuzzy
msgid "C_lear block marks"
msgstr "Очистить сэмпл"
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr "Режим редактирования _Jazz"
-#: app/menubar.c:351
+#: app/menubar.c:368
msgid "Transp_osition..."
msgstr "_Транспозиция"
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr "П_аттерн"
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr "Тр_ек"
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr "_Выделение"
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr "_Найти свободный паттерн"
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr "_Копировать текущий паттерн в свободный"
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr "_Очистить свободные паттерны"
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr "_Упаковать паттерны"
-#: app/menubar.c:399
+#: app/menubar.c:416
msgid "_Load XI..."
msgstr "_Загрузить XI..."
-#: app/menubar.c:401
+#: app/menubar.c:418
msgid "_Save XI..."
msgstr "_Сохранить XI..."
-#: app/menubar.c:406
+#: app/menubar.c:423
msgid "_Clear Current"
msgstr "_Очистить текущий"
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr "_Удалить неиспользуемые инструменты"
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr "_Использовать X Backing Store"
-#: app/menubar.c:421
+#: app/menubar.c:438
#, fuzzy
msgid "_Previous font"
msgstr "Предыдущая подсказка"
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr ""
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr "_Осциллографы"
-#: app/menubar.c:434
+#: app/menubar.c:451
#, fuzzy
msgid "_Tracker"
msgstr "Трекер"
-#: app/menubar.c:438
+#: app/menubar.c:455
msgid "_Keyboard Configuration..."
msgstr "_Конфигурация клавиатуры..."
-#: app/menubar.c:440
+#: app/menubar.c:457
msgid "_Audio Configuration..."
msgstr "Конфигурация _аудио..."
-#: app/menubar.c:442
+#: app/menubar.c:459
msgid "_GUI Configuration..."
msgstr "Кон_фигурация GUI..."
-#: app/menubar.c:448
+#: app/menubar.c:465
#, fuzzy
msgid "_MIDI Configuration..."
msgstr "Кон_фигурация GUI..."
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr "_Сохранить настройки"
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr "Сохранять настройки при _выходе"
-#: app/menubar.c:462
+#: app/menubar.c:479
msgid "_About..."
msgstr "_О программе..."
-#: app/menubar.c:467
+#: app/menubar.c:484
msgid "Show _Tips..."
msgstr "_Подсказки..."
-#: app/menubar.c:469
+#: app/menubar.c:486
msgid "_XM Effects..."
msgstr "_Эффекты XM..."
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr "_Файл"
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr "_Модуль"
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr "_Правка"
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr "_Инструмент"
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr "_Настройки"
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr "_Справка"
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr "/_Файл"
-#: app/menubar.c:520
+#: app/menubar.c:537
msgid "/File/_Open..."
msgstr "/Файл/_Открыть..."
-#: app/menubar.c:521
+#: app/menubar.c:538
msgid "/File/Save _as..."
msgstr "/Файл/Сохранить _как..."
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr "/Файл/-"
-#: app/menubar.c:523
+#: app/menubar.c:540
msgid "/File/Save Module as _WAV..."
msgstr "/Файл/Сохранить _модуль как WAV..."
-#: app/menubar.c:524
+#: app/menubar.c:541
#, fuzzy
msgid "/File/Save XM without samples..."
msgstr "/Файл/Сохранить _модуль как WAV..."
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr "/Файл/_Выход"
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr "/_Модуль"
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr "/Модуль/Очистить _все"
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr "/Модуль/Очистить только _паттерны"
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr "/Модуль/_Оптимизировать модуль"
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr "/_Правка"
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr "/Правка/Режим редактирования _Jazz"
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr "/Правка/-"
-#: app/menubar.c:534
+#: app/menubar.c:551
msgid "/Edit/_Transposition..."
msgstr "/Правка/_Транспозиция"
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr "/Правка/_Паттерн"
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr "/Правка/Паттерн/Выр_езать"
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr "/Правка/Паттерн/_Копировать"
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr "/Правка/Паттерн/_Вставить"
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr "/Правка/_Трек"
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr "/Правка/_Трек/Выр_езать"
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr "/Правка/_Трек/_Копировать"
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr "/Правка/_Трек/_Вставить"
-#: app/menubar.c:544
+#: app/menubar.c:561
#, fuzzy
msgid "/Edit/Track/_Kill notes"
msgstr "/Правка/_Трек/_Удалить"
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr "/Правка/_Трек/_Добавить"
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr "/Правка/_Трек/_Удалить"
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr "/Правка/_Выделение"
-#: app/menubar.c:548
+#: app/menubar.c:565
#, fuzzy
msgid "/Edit/Selection/_Mark mode"
msgstr "/Правка/_Выделение/_Отметить"
-#: app/menubar.c:549
+#: app/menubar.c:566
#, fuzzy
msgid "/Edit/Selection/C_lear block marks"
msgstr "/Правка/_Выделение/_Отметить"
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr "/Правка/_Выделение/Выр_езать"
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr "/Правка/_Выделение/_Копировать"
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr "/Правка/_Выделение/_Вставить"
-#: app/menubar.c:553
+#: app/menubar.c:570
#, fuzzy
msgid "/Edit/Selection/_Interpolate effects"
msgstr "/Правка/_Выделение/_Вставить"
-#: app/menubar.c:554
+#: app/menubar.c:571
+#, fuzzy
+msgid "/Edit/Track/Increment cmd value"
+msgstr "/Правка/_Трек/_Добавить"
+
+#: app/menubar.c:572
+#, fuzzy
+msgid "/Edit/Track/Decrement cmd value"
+msgstr "/Правка/_Трек/_Удалить"
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr "/П_аттерн"
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr "/П_аттерн/_Найти свободный паттерн"
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr "/П_аттерн/_Копировать текущий паттерн в свободный"
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr "/П_аттерн/_Очистить свободные паттерны"
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr "/П_аттерн/_Упаковать паттерны"
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr "/_Инструмент"
-#: app/menubar.c:560
+#: app/menubar.c:579
msgid "/Instrument/_Load XI..."
msgstr "/Инструмент/_Загрузить XI..."
-#: app/menubar.c:561
+#: app/menubar.c:580
msgid "/Instrument/_Save XI..."
msgstr "/Инструмент/_Сохраниать XI..."
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr "/Инструмент/-"
-#: app/menubar.c:563
+#: app/menubar.c:582
msgid "/Instrument/_Clear Current"
msgstr "/Инструмент/Удалить _текущий"
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr "/Инструмент/_Удалить неиспользуемые инструменты"
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr "/Св_ойства"
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr "/Свойства/_Осциллографы"
-#: app/menubar.c:568
+#: app/menubar.c:587
#, fuzzy
msgid "/Settings/_Tracker"
msgstr "/Свойства/-"
-#: app/menubar.c:569
+#: app/menubar.c:588
#, fuzzy
msgid "/Settings/Tracker/Use _Backing Store"
msgstr "/Свойства/_Использовать X Backing Store"
-#: app/menubar.c:570
+#: app/menubar.c:589
msgid "/Settings/Tracker/_Previous font"
msgstr ""
-#: app/menubar.c:571
+#: app/menubar.c:590
#, fuzzy
msgid "/Settings/Tracker/_Next font"
msgstr "/Свойства/Сохранять свойства при _выходе"
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr "/Свойства/-"
-#: app/menubar.c:573
+#: app/menubar.c:592
msgid "/Settings/_Keyboard Configuration..."
msgstr "/Свойства/_Конфигурация клавиатуры..."
-#: app/menubar.c:574
+#: app/menubar.c:593
msgid "/Settings/_Audio Configuration..."
msgstr "/Свойства/Конфигурация _аудио..."
-#: app/menubar.c:575
+#: app/menubar.c:594
msgid "/Settings/_GUI Configuration..."
msgstr "/Свойства/Кон_фигурация GUI..."
-#: app/menubar.c:576
+#: app/menubar.c:595
#, fuzzy
msgid "/Settings/_MIDI Configuration..."
msgstr "/Свойства/Кон_фигурация GUI..."
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr "/Свойства/_Сохранить свойства"
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr "/Свойства/Сохранять свойства при _выходе"
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr "/_Справка"
-#: app/menubar.c:581
+#: app/menubar.c:600
msgid "/Help/_About..."
msgstr "/Справка/_О программе..."
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr "/Справка/-"
-#: app/menubar.c:583
+#: app/menubar.c:602
msgid "/Help/Show _Tips..."
msgstr "/Справка/_Подсказки..."
-#: app/menubar.c:584
+#: app/menubar.c:603
msgid "/Help/_XM Effects..."
msgstr "/Справка/_Эффекты XM..."
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr "Название инструмента"
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr "#смпл"
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr "Название сэмпла"
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr "Линейно"
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr "Amiga"
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr "Информация о модуле"
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr "Название песни:"
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr "Частоты:"
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr "Режим ProTracker"
@@ -1239,7 +1258,7 @@
msgid "Restart pos"
msgstr "Рестарт с"
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
@@ -1247,152 +1266,152 @@
"Каталог под названием '.soundtracker' создан в вашем домашнем\n"
"каталоге для хранения в нем файлов конфигурации.\n"
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr "Нет цикла"
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr "Пинг-понг"
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr "8 бит"
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr "16 бит"
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr "Редактор сэмплов"
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr "Громкость"
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr "Панорамирование"
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr "Подстройка"
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
#, fuzzy
msgid "Selection:"
msgstr "_Выделение"
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
#, fuzzy
msgid "None"
msgstr "Нота:"
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
#, fuzzy
msgid "All"
msgstr "Выделить все"
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
#, fuzzy
msgid "Length:"
msgstr "Длина"
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
msgid "Set as loop"
msgstr ""
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr "Отн. нота"
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
msgid "Load Sample..."
msgstr "Загрузить сэмпл..."
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
msgid "Save WAV..."
msgstr "Сохранить WAV..."
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
msgid "Save region as WAV..."
msgstr "Сохранить участок как WAV..."
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr "Сохранить WAV"
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr "Сохранить участок"
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr "Следить"
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr "Спад громкости"
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr "Увеличить выделение"
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr "Показать все"
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr "Увеличить (+50%)"
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr "Уменьшить (-50%)"
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
msgid "Reverse"
msgstr "Перевернуть"
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr "Вырезать"
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr "Удалить"
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr "Копировать"
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr "Вставить"
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
msgid "Clear Sample"
msgstr "Очистить сэмпл"
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
#, fuzzy
msgid "(no selection)"
msgstr "Увеличить выделение"
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr "<только вставлено>"
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr "Ошибка чтения."
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
msgid "Load stereo sample"
msgstr "Загрузить стереосэмпл"
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1404,24 +1423,24 @@
"\n"
"Выберите, какой из каналов загрузить:"
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
msgid "Left"
msgstr "Левый"
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr "Объединить"
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
msgid "Right"
msgstr "Правый"
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
#, fuzzy
msgid "Load raw sample"
msgstr "Загрузить стереосэмпл"
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1429,80 +1448,80 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr "ОК"
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr "Невозможно прочитать сэмпл"
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr "Сэмпл слишком длинный для текущего миксер-модуля. Но грузим."
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr "Поддерживаются только сэмплы 8/16 бит, до 2 каналов"
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr "Нечего сохранять."
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr "Начать оцифровку"
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr ""
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr "Окно оцифровки"
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr "<только оцифровано>"
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
"Записанный сэмпл слишком длинный для текущего миксер-модуля. Но грузим."
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr "Нормализовать"
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr "Выполнить"
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr "Спад громкости"
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr "Произвести линейное спадание громкости на выбранном участке"
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr "Левый [%]:"
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr "Правый [%]:"
diff -urN soundtracker-0.5.7/po/soundtracker.pot soundtracker-0.5.8/po/soundtracker.pot
--- soundtracker-0.5.7/po/soundtracker.pot Tue Aug 15 18:36:14 2000
+++ soundtracker-0.5.8/po/soundtracker.pot Tue Sep 19 18:20:26 2000
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-08-15 18:36+0200\n"
+"POT-Creation-Date: 2000-09-19 18:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -50,7 +50,7 @@
msgid "Mixers"
msgstr ""
-#: app/audioconfig.c:321 app/gui-settings.c:544 app/sample-editor.c:1932
+#: app/audioconfig.c:321 app/gui-settings.c:547 app/sample-editor.c:1937
#: app/tips-dialog.c:165 app/transposition.c:313
msgid "Close"
msgstr ""
@@ -71,12 +71,12 @@
msgstr ""
#: app/drivers/alsa-input.c:205 app/drivers/alsa-output.c:211
-#: app/drivers/oss-output.c:200 app/sample-editor.c:1463
+#: app/drivers/oss-output.c:200 app/sample-editor.c:1468
msgid "Resolution:"
msgstr ""
#: app/drivers/alsa-input.c:215 app/drivers/alsa-output.c:221
-#: app/drivers/oss-output.c:210 app/sample-editor.c:1493
+#: app/drivers/oss-output.c:210 app/sample-editor.c:1498
msgid "Channels:"
msgstr ""
@@ -145,7 +145,7 @@
msgid "no settings (yet), sorry!"
msgstr ""
-#: app/drivers/file-output.c:161 app/sample-editor.c:1612
+#: app/drivers/file-output.c:161 app/sample-editor.c:1617
msgid "Can't open file for writing."
msgstr ""
@@ -168,31 +168,31 @@
"%s"
msgstr ""
-#: app/envelope-box.c:863
+#: app/envelope-box.c:878
msgid "Length"
msgstr ""
-#: app/envelope-box.c:864
+#: app/envelope-box.c:879
msgid "Current"
msgstr ""
-#: app/envelope-box.c:865
+#: app/envelope-box.c:880
msgid "Offset"
msgstr ""
-#: app/envelope-box.c:866
+#: app/envelope-box.c:881
msgid "Value"
msgstr ""
-#: app/envelope-box.c:872 app/playlist.c:323
+#: app/envelope-box.c:887 app/playlist.c:323
msgid "Insert"
msgstr ""
-#: app/envelope-box.c:878 app/playlist.c:329
+#: app/envelope-box.c:893 app/playlist.c:329
msgid "Delete"
msgstr ""
-#: app/envelope-box.c:967
+#: app/envelope-box.c:982
msgid ""
"Graphical\n"
"Envelope\n"
@@ -201,23 +201,23 @@
"GNOME Version"
msgstr ""
-#: app/envelope-box.c:982
+#: app/envelope-box.c:997
msgid "Sustain"
msgstr ""
-#: app/envelope-box.c:990
+#: app/envelope-box.c:1005
msgid "Point"
msgstr ""
-#: app/envelope-box.c:992
+#: app/envelope-box.c:1007
msgid "Loop"
msgstr ""
-#: app/envelope-box.c:1000 app/sample-editor.c:238
+#: app/envelope-box.c:1015 app/sample-editor.c:239
msgid "Start"
msgstr ""
-#: app/envelope-box.c:1001 app/sample-editor.c:239
+#: app/envelope-box.c:1016 app/sample-editor.c:240
msgid "End"
msgstr ""
@@ -237,7 +237,7 @@
msgid "Save Song"
msgstr ""
-#: app/file-operations.c:157 app/sample-editor.c:346
+#: app/file-operations.c:157 app/sample-editor.c:347
msgid "Load Sample"
msgstr ""
@@ -261,67 +261,67 @@
msgid "Operation not supported."
msgstr ""
-#: app/gui-settings.c:89
+#: app/gui-settings.c:92
msgid "Scopes Frequency"
msgstr ""
-#: app/gui-settings.c:92
+#: app/gui-settings.c:95
msgid "Tracker Frequency"
msgstr ""
-#: app/gui-settings.c:313 app/gui-settings.c:316
+#: app/gui-settings.c:316 app/gui-settings.c:319
msgid "GUI Configuration"
msgstr ""
-#: app/gui-settings.c:350
-msgid "Use Hexadecimal Numbers"
+#: app/gui-settings.c:353
+msgid "Hexadecimal row numbers"
msgstr ""
-#: app/gui-settings.c:357
+#: app/gui-settings.c:360
msgid "Use upper case letters for hex numbers"
msgstr ""
-#: app/gui-settings.c:364
+#: app/gui-settings.c:367
msgid "Advance cursor horizontally in effect columns"
msgstr ""
-#: app/gui-settings.c:371
+#: app/gui-settings.c:374
msgid "Asynchronous Editing"
msgstr ""
-#: app/gui-settings.c:378
+#: app/gui-settings.c:381
msgid "Channel numbering"
msgstr ""
-#: app/gui-settings.c:385
+#: app/gui-settings.c:388
msgid "Tempo and BPM update"
msgstr ""
-#: app/gui-settings.c:392
+#: app/gui-settings.c:395
msgid "Auto switch"
msgstr ""
-#: app/gui-settings.c:399
+#: app/gui-settings.c:402
msgid "Use anti-aliased envelope editor"
msgstr ""
-#: app/gui-settings.c:405
+#: app/gui-settings.c:408
msgid "You need to restart SoundTracker for this change to come into effect."
msgstr ""
-#: app/gui-settings.c:414
+#: app/gui-settings.c:417
msgid "Scopes buffer size [MB]"
msgstr ""
-#: app/gui-settings.c:433
+#: app/gui-settings.c:436
msgid "Highlight rows:"
msgstr ""
-#: app/gui-settings.c:457
+#: app/gui-settings.c:460
msgid "Track line format:"
msgstr ""
-#: app/gui-settings.c:509
+#: app/gui-settings.c:512
msgid "`Save XM' saves all non-empty patterns"
msgstr ""
@@ -397,8 +397,8 @@
msgid "Question"
msgstr ""
-#: app/gui-subs.c:489 app/keys.c:702 app/sample-editor.c:1375
-#: app/sample-editor.c:1512 app/sample-editor.c:1714
+#: app/gui-subs.c:489 app/keys.c:705 app/sample-editor.c:1380
+#: app/sample-editor.c:1517 app/sample-editor.c:1719
msgid "Cancel"
msgstr ""
@@ -414,73 +414,73 @@
msgid "Tempo"
msgstr ""
-#: app/gui.c:244
+#: app/gui.c:242
msgid ""
"Are you sure you want to free the current project?\n"
"All changes will be lost!"
msgstr ""
-#: app/gui.c:258 app/gui.c:272 app/gui.c:286
+#: app/gui.c:256 app/gui.c:270 app/gui.c:284
msgid "Are you sure you want to overwrite the file?"
msgstr ""
-#: app/gui.c:1281
+#: app/gui.c:1287
msgid "Load XM..."
msgstr ""
-#: app/gui.c:1283
+#: app/gui.c:1289
msgid "Save XM..."
msgstr ""
-#: app/gui.c:1286
+#: app/gui.c:1292
msgid "Render module as WAV..."
msgstr ""
-#: app/gui.c:1289
+#: app/gui.c:1295
msgid "Save song as XM..."
msgstr ""
-#: app/gui.c:1340
+#: app/gui.c:1346
msgid "Play Song"
msgstr ""
-#: app/gui.c:1346
+#: app/gui.c:1352
msgid "Play Pattern"
msgstr ""
-#: app/gui.c:1352
+#: app/gui.c:1358
msgid "Stop"
msgstr ""
-#: app/gui.c:1371
+#: app/gui.c:1377
msgid "Number of Channels:"
msgstr ""
-#: app/gui.c:1387 app/playlist.c:316
+#: app/gui.c:1393 app/playlist.c:316
msgid "Pattern"
msgstr ""
-#: app/gui.c:1403
+#: app/gui.c:1409
msgid "PatLength"
msgstr ""
-#: app/gui.c:1495
+#: app/gui.c:1501
msgid "Octave"
msgstr ""
-#: app/gui.c:1505
+#: app/gui.c:1511
msgid "Jump"
msgstr ""
-#: app/gui.c:1515
+#: app/gui.c:1521
msgid "Instr"
msgstr ""
-#: app/gui.c:1530
+#: app/gui.c:1536
msgid "Sample"
msgstr ""
-#: app/gui.c:1593
+#: app/gui.c:1599
msgid "%M:%S"
msgstr ""
@@ -560,93 +560,93 @@
msgid "Initialize"
msgstr ""
-#: app/keys.c:123
+#: app/keys.c:126
msgid "The key that inserts the special keyoff note for FastTracker modules."
msgstr ""
-#: app/keys.c:136
+#: app/keys.c:139
msgid "Upper Octave Keys..."
msgstr ""
-#: app/keys.c:137
+#: app/keys.c:140
msgid ""
"These are the keys on the upper half of the keyboard. The c key is normally "
"the key to the right of the TAB key. The rest of the keys should be ordered "
"in a piano keyboard fashion, including the number keys row above."
msgstr ""
-#: app/keys.c:143
+#: app/keys.c:146
msgid "Lower Octave Keys..."
msgstr ""
-#: app/keys.c:144
+#: app/keys.c:147
msgid ""
"These are the keys on the lower half of the keyboard. The c key is normally "
"the first character key to the right of the left Shift key. The rest of the "
"keys should be ordered in a piano keyboard fashion, including the row above."
msgstr ""
-#: app/keys.c:150
+#: app/keys.c:153
msgid "Other Keys..."
msgstr ""
-#: app/keys.c:151
+#: app/keys.c:154
msgid "Various other keys"
msgstr ""
-#: app/keys.c:504
+#: app/keys.c:507
msgid "Function"
msgstr ""
-#: app/keys.c:505
+#: app/keys.c:508
msgid "Assignment"
msgstr ""
-#: app/keys.c:514 app/keys.c:517
+#: app/keys.c:517 app/keys.c:520
msgid "Keyboard Configuration"
msgstr ""
-#: app/keys.c:566
+#: app/keys.c:569
msgid "Key Group Explanation"
msgstr ""
-#: app/keys.c:583
+#: app/keys.c:586
msgid "Key Explanation"
msgstr ""
-#: app/keys.c:614
+#: app/keys.c:617
msgid "Modifiers:"
msgstr ""
-#: app/keys.c:640
+#: app/keys.c:643
msgid "Learn selected key"
msgstr ""
-#: app/keys.c:646
+#: app/keys.c:649
msgid "Learn all keys"
msgstr ""
-#: app/keys.c:652
+#: app/keys.c:655
msgid ""
"Please press the desired key combination!\n"
"Click into left list to cancel"
msgstr ""
-#: app/keys.c:682 app/menubar.c:99
+#: app/keys.c:685 app/menubar.c:99
msgid "Ok"
msgstr ""
-#: app/keys.c:692
+#: app/keys.c:695
msgid "Apply"
msgstr ""
-#: app/keys.c:760
+#: app/keys.c:765
msgid ""
"The keyboard configuration file is defective.\n"
"Please use the Keyboard Configuration dialog."
msgstr ""
-#: app/keys.c:1010
+#: app/keys.c:1016
msgid ""
"Automatic key configuration unsuccessful.\n"
"Please use the Keyboard Configuration dialog\n"
@@ -665,487 +665,503 @@
"All changes will be lost!"
msgstr ""
-#: app/menubar.c:267
+#: app/menubar.c:280
msgid "_Open..."
msgstr ""
-#: app/menubar.c:269
+#: app/menubar.c:282
msgid "Save _as..."
msgstr ""
-#: app/menubar.c:275
+#: app/menubar.c:288
msgid "Save Module as _WAV..."
msgstr ""
-#: app/menubar.c:277
+#: app/menubar.c:290
msgid "Save XM without samples..."
msgstr ""
-#: app/menubar.c:282
+#: app/menubar.c:295
msgid "_Quit"
msgstr ""
-#: app/menubar.c:289
+#: app/menubar.c:302
msgid "Clear _All"
msgstr ""
-#: app/menubar.c:291
+#: app/menubar.c:304
msgid "Clear _Patterns Only"
msgstr ""
-#: app/menubar.c:293
+#: app/menubar.c:306
msgid "_Optimize Module"
msgstr ""
-#: app/menubar.c:300 app/menubar.c:311 app/menubar.c:332 app/menubar.c:366
+#: app/menubar.c:313 app/menubar.c:324 app/menubar.c:349 app/menubar.c:383
msgid "C_ut"
msgstr ""
-#: app/menubar.c:302 app/menubar.c:313 app/menubar.c:334 app/menubar.c:368
+#: app/menubar.c:315 app/menubar.c:326 app/menubar.c:351 app/menubar.c:385
msgid "_Copy"
msgstr ""
-#: app/menubar.c:304 app/menubar.c:315 app/menubar.c:336 app/menubar.c:370
+#: app/menubar.c:317 app/menubar.c:328 app/menubar.c:353 app/menubar.c:387
msgid "_Paste"
msgstr ""
-#: app/menubar.c:317
+#: app/menubar.c:330
msgid "_Kill notes"
msgstr ""
-#: app/menubar.c:319
+#: app/menubar.c:332
msgid "_Insert"
msgstr ""
-#: app/menubar.c:321
+#: app/menubar.c:334
msgid "_Delete"
msgstr ""
-#: app/menubar.c:328
+#: app/menubar.c:336
+msgid "Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:338
+msgid "Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:345
msgid "_Mark mode"
msgstr ""
-#: app/menubar.c:330 app/menubar.c:364
+#: app/menubar.c:347 app/menubar.c:381
msgid "C_lear block marks"
msgstr ""
-#: app/menubar.c:338 app/menubar.c:372
+#: app/menubar.c:355 app/menubar.c:389
msgid "_Interpolate effects"
msgstr ""
-#: app/menubar.c:346
+#: app/menubar.c:363
msgid "_Jazz Edit Mode"
msgstr ""
-#: app/menubar.c:351
+#: app/menubar.c:368
msgid "Transp_osition..."
msgstr ""
-#: app/menubar.c:356 app/menubar.c:379 app/menubar.c:479
+#: app/menubar.c:373 app/menubar.c:396 app/menubar.c:496
msgid "_Pattern"
msgstr ""
-#: app/menubar.c:357 app/menubar.c:380
+#: app/menubar.c:374 app/menubar.c:397
msgid "_Track"
msgstr ""
-#: app/menubar.c:358 app/menubar.c:381
+#: app/menubar.c:375 app/menubar.c:398
msgid "_Selection"
msgstr ""
-#: app/menubar.c:386
+#: app/menubar.c:403
msgid "_Find Unused Pattern"
msgstr ""
-#: app/menubar.c:388
+#: app/menubar.c:405
msgid "_Copy Current to Unused Pattern"
msgstr ""
-#: app/menubar.c:390
+#: app/menubar.c:407
msgid "C_lear Unused Patterns"
msgstr ""
-#: app/menubar.c:392
+#: app/menubar.c:409
msgid "_Pack Patterns"
msgstr ""
-#: app/menubar.c:399
+#: app/menubar.c:416
msgid "_Load XI..."
msgstr ""
-#: app/menubar.c:401
+#: app/menubar.c:418
msgid "_Save XI..."
msgstr ""
-#: app/menubar.c:406
+#: app/menubar.c:423
msgid "_Clear Current"
msgstr ""
-#: app/menubar.c:411
+#: app/menubar.c:428
msgid "_Delete Unused Instruments"
msgstr ""
-#: app/menubar.c:418
+#: app/menubar.c:435
msgid "Use _Backing Store"
msgstr ""
-#: app/menubar.c:421
+#: app/menubar.c:438
msgid "_Previous font"
msgstr ""
-#: app/menubar.c:423
+#: app/menubar.c:440
msgid "_Next font"
msgstr ""
-#: app/menubar.c:431
+#: app/menubar.c:448
msgid "Display _Oscilloscopes"
msgstr ""
-#: app/menubar.c:434
+#: app/menubar.c:451
msgid "_Tracker"
msgstr ""
-#: app/menubar.c:438
+#: app/menubar.c:455
msgid "_Keyboard Configuration..."
msgstr ""
-#: app/menubar.c:440
+#: app/menubar.c:457
msgid "_Audio Configuration..."
msgstr ""
-#: app/menubar.c:442
+#: app/menubar.c:459
msgid "_GUI Configuration..."
msgstr ""
-#: app/menubar.c:448
+#: app/menubar.c:465
msgid "_MIDI Configuration..."
msgstr ""
-#: app/menubar.c:453
+#: app/menubar.c:470
msgid "_Save Settings now"
msgstr ""
-#: app/menubar.c:455
+#: app/menubar.c:472
msgid "Save Settings on _Exit"
msgstr ""
-#: app/menubar.c:462
+#: app/menubar.c:479
msgid "_About..."
msgstr ""
-#: app/menubar.c:467
+#: app/menubar.c:484
msgid "Show _Tips..."
msgstr ""
-#: app/menubar.c:469
+#: app/menubar.c:486
msgid "_XM Effects..."
msgstr ""
-#: app/menubar.c:476
+#: app/menubar.c:493
msgid "_File"
msgstr ""
-#: app/menubar.c:477
+#: app/menubar.c:494
msgid "_Module"
msgstr ""
-#: app/menubar.c:478
+#: app/menubar.c:495
msgid "_Edit"
msgstr ""
-#: app/menubar.c:480
+#: app/menubar.c:497
msgid "_Instrument"
msgstr ""
-#: app/menubar.c:481
+#: app/menubar.c:498
msgid "_Settings"
msgstr ""
-#: app/menubar.c:482
+#: app/menubar.c:499
msgid "_Help"
msgstr ""
-#: app/menubar.c:519
+#: app/menubar.c:536
msgid "/_File"
msgstr ""
-#: app/menubar.c:520
+#: app/menubar.c:537
msgid "/File/_Open..."
msgstr ""
-#: app/menubar.c:521
+#: app/menubar.c:538
msgid "/File/Save _as..."
msgstr ""
-#: app/menubar.c:522 app/menubar.c:525
+#: app/menubar.c:539 app/menubar.c:542
msgid "/File/-"
msgstr ""
-#: app/menubar.c:523
+#: app/menubar.c:540
msgid "/File/Save Module as _WAV..."
msgstr ""
-#: app/menubar.c:524
+#: app/menubar.c:541
msgid "/File/Save XM without samples..."
msgstr ""
-#: app/menubar.c:526
+#: app/menubar.c:543
msgid "/File/_Quit"
msgstr ""
-#: app/menubar.c:527
+#: app/menubar.c:544
msgid "/_Module"
msgstr ""
-#: app/menubar.c:528
+#: app/menubar.c:545
msgid "/Module/Clear _All"
msgstr ""
-#: app/menubar.c:529
+#: app/menubar.c:546
msgid "/Module/Clear _Patterns Only"
msgstr ""
-#: app/menubar.c:530
+#: app/menubar.c:547
msgid "/Module/_Optimize Module"
msgstr ""
-#: app/menubar.c:531
+#: app/menubar.c:548
msgid "/_Edit"
msgstr ""
-#: app/menubar.c:532
+#: app/menubar.c:549
msgid "/Edit/_Jazz Edit Mode"
msgstr ""
-#: app/menubar.c:533 app/menubar.c:535
+#: app/menubar.c:550 app/menubar.c:552
msgid "/Edit/-"
msgstr ""
-#: app/menubar.c:534
+#: app/menubar.c:551
msgid "/Edit/_Transposition..."
msgstr ""
-#: app/menubar.c:536
+#: app/menubar.c:553
msgid "/Edit/_Pattern"
msgstr ""
-#: app/menubar.c:537
+#: app/menubar.c:554
msgid "/Edit/Pattern/C_ut"
msgstr ""
-#: app/menubar.c:538
+#: app/menubar.c:555
msgid "/Edit/Pattern/_Copy"
msgstr ""
-#: app/menubar.c:539
+#: app/menubar.c:556
msgid "/Edit/Pattern/_Paste"
msgstr ""
-#: app/menubar.c:540
+#: app/menubar.c:557
msgid "/Edit/_Track"
msgstr ""
-#: app/menubar.c:541
+#: app/menubar.c:558
msgid "/Edit/Track/C_ut"
msgstr ""
-#: app/menubar.c:542
+#: app/menubar.c:559
msgid "/Edit/Track/_Copy"
msgstr ""
-#: app/menubar.c:543
+#: app/menubar.c:560
msgid "/Edit/Track/_Paste"
msgstr ""
-#: app/menubar.c:544
+#: app/menubar.c:561
msgid "/Edit/Track/_Kill notes"
msgstr ""
-#: app/menubar.c:545
+#: app/menubar.c:562
msgid "/Edit/Track/_Insert"
msgstr ""
-#: app/menubar.c:546
+#: app/menubar.c:563
msgid "/Edit/Track/_Delete"
msgstr ""
-#: app/menubar.c:547
+#: app/menubar.c:564
msgid "/Edit/_Selection"
msgstr ""
-#: app/menubar.c:548
+#: app/menubar.c:565
msgid "/Edit/Selection/_Mark mode"
msgstr ""
-#: app/menubar.c:549
+#: app/menubar.c:566
msgid "/Edit/Selection/C_lear block marks"
msgstr ""
-#: app/menubar.c:550
+#: app/menubar.c:567
msgid "/Edit/Selection/C_ut"
msgstr ""
-#: app/menubar.c:551
+#: app/menubar.c:568
msgid "/Edit/Selection/_Copy"
msgstr ""
-#: app/menubar.c:552
+#: app/menubar.c:569
msgid "/Edit/Selection/_Paste"
msgstr ""
-#: app/menubar.c:553
+#: app/menubar.c:570
msgid "/Edit/Selection/_Interpolate effects"
msgstr ""
-#: app/menubar.c:554
+#: app/menubar.c:571
+msgid "/Edit/Track/Increment cmd value"
+msgstr ""
+
+#: app/menubar.c:572
+msgid "/Edit/Track/Decrement cmd value"
+msgstr ""
+
+#: app/menubar.c:573
msgid "/_Pattern"
msgstr ""
-#: app/menubar.c:555
+#: app/menubar.c:574
msgid "/Pattern/_Find Unused Pattern"
msgstr ""
-#: app/menubar.c:556
+#: app/menubar.c:575
msgid "/Pattern/_Copy Current to Unused Pattern"
msgstr ""
-#: app/menubar.c:557
+#: app/menubar.c:576
msgid "/Pattern/C_lear Unused Patterns"
msgstr ""
-#: app/menubar.c:558
+#: app/menubar.c:577
msgid "/Pattern/_Pack Patterns"
msgstr ""
-#: app/menubar.c:559
+#: app/menubar.c:578
msgid "/_Instrument"
msgstr ""
-#: app/menubar.c:560
+#: app/menubar.c:579
msgid "/Instrument/_Load XI..."
msgstr ""
-#: app/menubar.c:561
+#: app/menubar.c:580
msgid "/Instrument/_Save XI..."
msgstr ""
-#: app/menubar.c:562 app/menubar.c:564
+#: app/menubar.c:581 app/menubar.c:583
msgid "/Instrument/-"
msgstr ""
-#: app/menubar.c:563
+#: app/menubar.c:582
msgid "/Instrument/_Clear Current"
msgstr ""
-#: app/menubar.c:565
+#: app/menubar.c:584
msgid "/Instrument/_Delete Unused Instruments"
msgstr ""
-#: app/menubar.c:566
+#: app/menubar.c:585
msgid "/_Settings"
msgstr ""
-#: app/menubar.c:567
+#: app/menubar.c:586
msgid "/Settings/Display _Oscilloscopes"
msgstr ""
-#: app/menubar.c:568
+#: app/menubar.c:587
msgid "/Settings/_Tracker"
msgstr ""
-#: app/menubar.c:569
+#: app/menubar.c:588
msgid "/Settings/Tracker/Use _Backing Store"
msgstr ""
-#: app/menubar.c:570
+#: app/menubar.c:589
msgid "/Settings/Tracker/_Previous font"
msgstr ""
-#: app/menubar.c:571
+#: app/menubar.c:590
msgid "/Settings/Tracker/_Next font"
msgstr ""
-#: app/menubar.c:572 app/menubar.c:577
+#: app/menubar.c:591 app/menubar.c:596
msgid "/Settings/-"
msgstr ""
-#: app/menubar.c:573
+#: app/menubar.c:592
msgid "/Settings/_Keyboard Configuration..."
msgstr ""
-#: app/menubar.c:574
+#: app/menubar.c:593
msgid "/Settings/_Audio Configuration..."
msgstr ""
-#: app/menubar.c:575
+#: app/menubar.c:594
msgid "/Settings/_GUI Configuration..."
msgstr ""
-#: app/menubar.c:576
+#: app/menubar.c:595
msgid "/Settings/_MIDI Configuration..."
msgstr ""
-#: app/menubar.c:578
+#: app/menubar.c:597
msgid "/Settings/_Save Settings now"
msgstr ""
-#: app/menubar.c:579
+#: app/menubar.c:598
msgid "/Settings/Save Settings on _Exit"
msgstr ""
-#: app/menubar.c:580
+#: app/menubar.c:599
msgid "/_Help"
msgstr ""
-#: app/menubar.c:581
+#: app/menubar.c:600
msgid "/Help/_About..."
msgstr ""
-#: app/menubar.c:582
+#: app/menubar.c:601
msgid "/Help/-"
msgstr ""
-#: app/menubar.c:583
+#: app/menubar.c:602
msgid "/Help/Show _Tips..."
msgstr ""
-#: app/menubar.c:584
+#: app/menubar.c:603
msgid "/Help/_XM Effects..."
msgstr ""
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "Instrument Name"
msgstr ""
-#: app/module-info.c:116
+#: app/module-info.c:115
msgid "#smpl"
msgstr ""
-#: app/module-info.c:117
+#: app/module-info.c:116
msgid "Sample Name"
msgstr ""
-#: app/module-info.c:118
+#: app/module-info.c:117
msgid "Linear"
msgstr ""
-#: app/module-info.c:118 app/sample-editor.c:198
+#: app/module-info.c:117 app/sample-editor.c:199
msgid "Amiga"
msgstr ""
-#: app/module-info.c:125
+#: app/module-info.c:124
msgid "Module Info"
msgstr ""
-#: app/module-info.c:165
+#: app/module-info.c:164
msgid "Songname:"
msgstr ""
-#: app/module-info.c:180
+#: app/module-info.c:179
msgid "Frequencies:"
msgstr ""
-#: app/module-info.c:185
+#: app/module-info.c:184
msgid "ProTracker Mode"
msgstr ""
@@ -1161,153 +1177,153 @@
msgid "Restart pos"
msgstr ""
-#: app/preferences.c:58
+#: app/preferences.c:72
msgid ""
"A directory called '.soundtracker' has been created in your\n"
"home directory to store configuration files.\n"
msgstr ""
-#: app/sample-editor.c:197
+#: app/sample-editor.c:198
msgid "No loop"
msgstr ""
-#: app/sample-editor.c:199
+#: app/sample-editor.c:200
msgid "PingPong"
msgstr ""
-#: app/sample-editor.c:203
+#: app/sample-editor.c:204
msgid "8 bits"
msgstr ""
-#: app/sample-editor.c:204
+#: app/sample-editor.c:205
msgid "16 bits"
msgstr ""
-#: app/sample-editor.c:210
+#: app/sample-editor.c:211
msgid "Sample Editor"
msgstr ""
-#: app/sample-editor.c:250
+#: app/sample-editor.c:251
msgid "Volume"
msgstr ""
-#: app/sample-editor.c:251
+#: app/sample-editor.c:252
msgid "Panning"
msgstr ""
-#: app/sample-editor.c:252
+#: app/sample-editor.c:253
msgid "Finetune"
msgstr ""
-#: app/sample-editor.c:272
+#: app/sample-editor.c:273
msgid "Selection:"
msgstr ""
-#: app/sample-editor.c:276 app/track-editor.c:170 app/track-editor.c:180
+#: app/sample-editor.c:277 app/track-editor.c:170 app/track-editor.c:180
msgid "None"
msgstr ""
-#: app/sample-editor.c:282
+#: app/sample-editor.c:283
msgid "All"
msgstr ""
-#: app/sample-editor.c:303
+#: app/sample-editor.c:304
msgid "Length:"
msgstr ""
-#: app/sample-editor.c:319
+#: app/sample-editor.c:320
msgid "Set as loop"
msgstr ""
-#: app/sample-editor.c:327
+#: app/sample-editor.c:328
msgid "RelNote"
msgstr ""
-#: app/sample-editor.c:338
+#: app/sample-editor.c:339
msgid "Load Sample..."
msgstr ""
-#: app/sample-editor.c:340
+#: app/sample-editor.c:341
msgid "Save WAV..."
msgstr ""
-#: app/sample-editor.c:342
+#: app/sample-editor.c:343
msgid "Save region as WAV..."
msgstr ""
-#: app/sample-editor.c:355
+#: app/sample-editor.c:356
msgid "Save WAV"
msgstr ""
-#: app/sample-editor.c:365
+#: app/sample-editor.c:366
msgid "Save Region"
msgstr ""
-#: app/sample-editor.c:376
+#: app/sample-editor.c:377
msgid "Monitor"
msgstr ""
-#: app/sample-editor.c:382
+#: app/sample-editor.c:383
msgid "Volume Ramp"
msgstr ""
-#: app/sample-editor.c:392
+#: app/sample-editor.c:393
msgid "Zoom to selection"
msgstr ""
-#: app/sample-editor.c:398
+#: app/sample-editor.c:399
msgid "Show all"
msgstr ""
-#: app/sample-editor.c:404
+#: app/sample-editor.c:405
msgid "Zoom in (+50%)"
msgstr ""
-#: app/sample-editor.c:410
+#: app/sample-editor.c:411
msgid "Zoom out (-50%)"
msgstr ""
-#: app/sample-editor.c:416
+#: app/sample-editor.c:417
msgid "Reverse"
msgstr ""
-#: app/sample-editor.c:426
+#: app/sample-editor.c:427
msgid "Cut"
msgstr ""
-#: app/sample-editor.c:432
+#: app/sample-editor.c:433
msgid "Remove"
msgstr ""
-#: app/sample-editor.c:438
+#: app/sample-editor.c:439
msgid "Copy"
msgstr ""
-#: app/sample-editor.c:444
+#: app/sample-editor.c:445
msgid "Paste"
msgstr ""
-#: app/sample-editor.c:450
+#: app/sample-editor.c:451
msgid "Clear Sample"
msgstr ""
-#: app/sample-editor.c:488
+#: app/sample-editor.c:489
msgid "(no selection)"
msgstr ""
-#: app/sample-editor.c:1080
+#: app/sample-editor.c:1082
msgid ""
msgstr ""
-#: app/sample-editor.c:1193 app/sample-editor.c:1205
+#: app/sample-editor.c:1198 app/sample-editor.c:1210
msgid "Read error."
msgstr ""
-#: app/sample-editor.c:1331
+#: app/sample-editor.c:1336
msgid "Load stereo sample"
msgstr ""
-#: app/sample-editor.c:1339
+#: app/sample-editor.c:1344
msgid ""
"You have selected a stereo sample!\n"
"(SoundTracker can only handle mono samples!)\n"
@@ -1315,23 +1331,23 @@
"Please choose which channel to load:"
msgstr ""
-#: app/sample-editor.c:1350
+#: app/sample-editor.c:1355
msgid "Left"
msgstr ""
-#: app/sample-editor.c:1356
+#: app/sample-editor.c:1361
msgid "Mix"
msgstr ""
-#: app/sample-editor.c:1362
+#: app/sample-editor.c:1367
msgid "Right"
msgstr ""
-#: app/sample-editor.c:1440
+#: app/sample-editor.c:1445
msgid "Load raw sample"
msgstr ""
-#: app/sample-editor.c:1448
+#: app/sample-editor.c:1453
msgid ""
"You have selected a sample that is not\n"
"in a known format. You can load the raw data now.\n"
@@ -1339,79 +1355,79 @@
"Please choose a format:"
msgstr ""
-#: app/sample-editor.c:1474
+#: app/sample-editor.c:1479
msgid "Wortformat:"
msgstr ""
-#: app/sample-editor.c:1506 app/sample-editor.c:1699
+#: app/sample-editor.c:1511 app/sample-editor.c:1704
msgid "OK"
msgstr ""
-#: app/sample-editor.c:1552
+#: app/sample-editor.c:1557
msgid "Can't read sample"
msgstr ""
-#: app/sample-editor.c:1561
+#: app/sample-editor.c:1566
msgid "Sample is too long for current mixer module. Loading anyway."
msgstr ""
-#: app/sample-editor.c:1575
+#: app/sample-editor.c:1580
msgid "Can only handle 8 and 16 bit samples with up to 2 channels"
msgstr ""
-#: app/sample-editor.c:1672
+#: app/sample-editor.c:1677
msgid "Nothing to save."
msgstr ""
-#: app/sample-editor.c:1707
+#: app/sample-editor.c:1712
msgid "Start sampling"
msgstr ""
-#: app/sample-editor.c:1737
+#: app/sample-editor.c:1742
msgid "No sampling driver available"
msgstr ""
-#: app/sample-editor.c:1747 app/sample-editor.c:1750
+#: app/sample-editor.c:1752 app/sample-editor.c:1755
msgid "Sampling Window"
msgstr ""
-#: app/sample-editor.c:1850
+#: app/sample-editor.c:1855
msgid ""
msgstr ""
-#: app/sample-editor.c:1880
+#: app/sample-editor.c:1885
msgid "Recorded sample is too long for current mixer module. Using it anyway."
msgstr ""
-#: app/sample-editor.c:1930
+#: app/sample-editor.c:1935
msgid "Normalize"
msgstr ""
-#: app/sample-editor.c:1931
+#: app/sample-editor.c:1936
msgid "Execute"
msgstr ""
-#: app/sample-editor.c:1941 app/sample-editor.c:1944
+#: app/sample-editor.c:1946 app/sample-editor.c:1949
msgid "Volume Ramping"
msgstr ""
-#: app/sample-editor.c:1960
+#: app/sample-editor.c:1965
msgid "Perform linear volume fade on Selection"
msgstr ""
-#: app/sample-editor.c:1972
+#: app/sample-editor.c:1977
msgid "Left [%]:"
msgstr ""
-#: app/sample-editor.c:1975 app/sample-editor.c:1992
+#: app/sample-editor.c:1980 app/sample-editor.c:1997
msgid "H"
msgstr ""
-#: app/sample-editor.c:1981 app/sample-editor.c:1998
+#: app/sample-editor.c:1986 app/sample-editor.c:2003
msgid "D"
msgstr ""
-#: app/sample-editor.c:1989
+#: app/sample-editor.c:1994
msgid "Right [%]:"
msgstr ""
diff -urN soundtracker-0.5.7/soundtracker.spec soundtracker-0.5.8/soundtracker.spec
--- soundtracker-0.5.7/soundtracker.spec Tue Aug 15 18:08:54 2000
+++ soundtracker-0.5.8/soundtracker.spec Tue Sep 19 18:06:13 2000
@@ -1,6 +1,6 @@
%define name soundtracker
-%define version 0.5.7
-%define release 19
+%define version 0.5.8
+%define release 20
%define prefix /usr
Summary: Sound modules editor/player