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). + +

How the audio subsystem works

@@ -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