Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
* Version 8 Edition 3: * Typo fixed for these command names: M-x monk-calc-total-time-buffer RET M-x monk-calc-total-time-marked RET M-x monk-calc-total-file-size-buffer RET M-x monk-calc-total-file-size-marked RET * Small fixes, and MonK now works on emacs-21.3, and the cvs versions. * RealMedia (local) file can be played by monk-real.el (not in the archive). * sox-12.17.4 supported. * To use cdda2wav from cdrtools-2.0, you should setq variable `monk-cdda2wav-query-command' in ~/.emacs(.el): (setq monk-cdda2wav-query-command "cdda2wav -gNJ -v toc") * Version 8 Edition 2: * Now commands monk-next-buffer, monk-previous-buffer use next or previous buffers' window if available in selected frame. * New key bindings: [tab] (monk-play-next) [S-tab] (monk-play-prev) * New user option `monk-repeat-buffers' defaulting nil. If it is set to non-nil, "p" (monk-play-prev) "n" (monk-play-next-buffer) or the automatic track advancing steps into another MonK buffer if any. * A new command to toggle `monk-repeat-buffers'. You can call it from the majour menu. * Version 8 Edition 1: * Fixed monk-cddb script. At least current monk-cddb is compatible with cdda2wav from cdrtools-1.10 (slackware-8.0), and 1.11a24 (slackware-8.1). * cdda2wav from cdrtools-1.11aXX series are thought to be beta, and MonK does not support them officially yet. * Version 8 Edition 0: * OggVorbis module (monk-ogg.el) merged. ogg123-1.0beta4, ogg123-1.0rc1, and ogg123-1.0rc3 supported. "monk-ogg-probe" is not required anymore. * WAV module (monk-wav.el, monk-wav) merged. sox-12.16, sox-12.17, sox-12.17.1, sox-12.17.3 supported. * monk-smpeg.el: Added two commands to control "-2" (double size) option of plaympeg(1): (monk-smpeg-set-command-options) (monk-smpeg-resize) Both set double-size by non-nil ARG, and single-size by nil ARG. The former just sets golbal value for variable `monk-smpeg-command-options' (existing tracks should be rebuilt to reflect the change) , and the latter changes current track property. See also document string for the commands. Authour's setting (Must use monk-load-hook): (define-key monk-mode-map "\eD" 'monk-smpeg-resize) Also bulletproof somemore in handler `monk-smpeg-insert-track-obj'. * Now M-1 SPC (monk-play-pause) on a playing track works exactly as expected. * Bulletproof on monk-proc-sentinel. Unexpected error in track advancing might be reduced. * monk-fn-handler.el enables emacs to play multimedia files `found' by ordinary emacs commands: C-x C-f (find-file) C-x 4 f (find-file-other-window) C-x 5 f (find-file-other-frame) f (dired-find-file in dired-mode) F (dired-do-find-marked-files in dired-mode) o (find-file-other-window in dired-mode) C-o (dired-display-file in dired-mode) etc. A MonK buffer is set up for each `found' file(s), and automatically played. Even $ emacs ~/mp3/SweetJane.mp3 is possible. * Version 7 Edition 44: * Small fix on variable `monk-cdda2wav-query-command' to get compatibility among several cdda2wav versions in: cdrecord-1.09: Supported. (perhaps) cdrecord-1.10: Supported. cdrtools-1.11a24: Supported (slackware-8.1 default). cdrtools-1.11a37: Not supported yet. `monk-cdda2wav-query-command' now defaults "cdda2wav -gNJ -v34" and can be modified with setq() in ~/.emacs(.el). Let me know if you find suitable number argument to the "-v" option for certain version of cdda2wav. MonK requires track timings and titles in "cdda2wav -gNJ ..." command output likewise: $ /usr/bin/cdda2wav -gNJ -v34 Type: ROM, Vendor 'TOSHIBA ' Model 'CD-ROM XM-3401TA' Revision '0283' no MMC 724992 bytes buffer memory requested, 4 buffers, 75 sectors Read TOC CD Text failed (probably not supported). #Cdda2wav version 1.10_linux_2.2.19_i686_i686 real time sched. soundcard support Tracks:10 68:45.40 CDINDEX discid: nrGatlNfoG7al.V3.k6VXcE5NOc- CDDB discid: 0x96101b0a CD-Text: not detected CD-Extra: not detected Album title: '' from '' T01: 0 4:38.47 audio linear copydenied stereo title '' from '' T02: 20897 8:01.18 audio linear copydenied stereo title '' from '' T03: 56990 4:57.30 audio linear copydenied stereo title '' from '' T04: 79295 6:47.37 audio linear copydenied stereo title '' from '' T05: 109857 8:44.25 audio linear copydenied stereo title '' from '' T06: 149182 9:04.65 audio linear copydenied stereo title '' from '' T07: 190047 5:26.13 audio linear copydenied stereo title '' from '' T08: 214510 8:22.00 audio linear copydenied stereo title '' from '' T09: 252160 6:43.57 audio linear copydenied stereo title '' from '' T10: 282442 5:57.48 audio linear copydenied stereo title '' from '' Leadout: 309265 * Guess cdda2wav from cdrecord-1.09 is still compatible, but not tested. * Version 7 Edition 43: * New variables: * monk-mp3-readin-wait: Defaults 0.05 for mpg123, but can be 0 if the probe command is mpg321. Thus best settings for mpg321 is: (setq monk-mp3-probe-command "mpg321" monk-mp3-probe-options '("-t" "-v" "-n0") ; opt order significant. monk-mp3-player-command "mpg321" monk-mp3-readin-wait 0 monk-mp3-player-command-options nil) This tuning proved to make mp3 track generation twice faster than the default setting considering mpg123. mpg321 is very robust, and correct in track timing display. * Similar new variables monk-ogg-readin-wait, and monk-wav-readin-wait. Accordingly, monk-wav.el is updated to version 0.3, and monk-ogg.el to version 0.5. The `waits' in these modules now defaults 0, and .ogg or .wav track generation is fairly faster. * Version 7 Edition 42: * monk-mp3.el is modified to support an mp3 player other than mpg123 easily. * Now a very good mpg123 emulator mpg321 is available. To use mpg321 as the prober / player, a setup (setq monk-mp3-probe-command "mpg321" monk-mp3-probe-options '("-t" "-v" "-n0") ; opt order significant. monk-mp3-player-command "mpg321" monk-mp3-player-command-options nil) is required in ~/.emacs(.el). See http://www.mars.org/home/rob/proj/mpeg/ http://mpg321.sourceforge.net/ for mad/mpg321. mpg321 requires libao. * Version 7 Edition 41: * Fixed bug that scratch (loop) fails at the end of first sequence. The bug seems to have been caused by changes in recent Editions (39-40). * Version 7 Edition 40: * s (monk-stop): Small fix. * README updated with respect to xmcd/cddbcmd description. * Version 7 Edition 39: * New user option `monk-proc-track-interval' (defaults nil). Interval in seconds between tracks inserted when auto-advaincing to next track. Might be useful to set this variable to 2 or 1, when you record tracks in the *monk* buffer to your analog recorder. You may want to set `monk-repeat' (defaults t) to nil as well in such occasion. Nil, or non-integer value makes no interval. * Version 7 Edition 38: * New commands: total time / file-size calculators: M-x monk-calc-total-time-buffer RET M-x monk-calc-total-time-marked RET M-x monk-calc-total-file-size-buffer RET M-x monk-calc-total-file-size-marked RET Might be useful when you are downloading *monk* buffer into analog recorder, or copy files into MO via dired. * monk-toggle-repeat is available in the major-mode menu raised by C-mouse-3. * Version 7 Edition 37: * Mouse wheel bindings for monk-next-buffer() and monk-previous-buffer() are changed to: [M-S-mouse-4]: monk-previous-buffer [M-S-mouse-5]: monk-next-buffer * Version 7 Edition 36: * New commands: C-c C-n (monk-next-buffer) C-c C-p (monk-previous-buffer) to switch among MonK buffers. Useful when you have multiple MonK buffers. Also bound to C-M-S-mouse-5, and C-M-S-mouse-4. The `majour-mode' menu raised by C-mouse-2 has relevant items as well. * Version 7 Edition 35: * Old command C-c C-n (monk-new-buffer) is deprecated. Use equivalent command C-c C-o (monk-open-new) instead. * Version 7 Edition 34: * A new command `monk-goto-current-track'. Bound to ".". Moves to the current playing track. NOP if no track is playing. * Version 7 Edition 33: * [emacs-21] The coding-system display at the top of mode-line is turned off to make the mode-line dragable and clickable, if `mule' feature is compiled in emacs-21. * Version 7 Edition 32: * A new item `Toggle Name' in menu, which toggles track names between mp3 title and file name. * Version 7 Edition 31: * v/V (monk-volume-up/down) supports 0 for numeric ARG. M-0 v, C-0 v, 0 v etc. will report the current volume status, and do not change the volume. * Version 7 Edition 30: * BPS values are printed for mp3 and ogg track lines instead of 0 as start-frame, which field makes sense only for cdaudio tracks. monk-ogg.el is not yet in the archive though. * M-x monk-sort-tracks-by-bps is available. Simply sorts track lines by the BPS field #3 (as string). * Version 7 Edition 29: * Fixed the infinite-loop C-c C-c (monk-rebuild-all-tracks). * Version 7 Edition 28: * Fixed the bug of editions 26 and 27 that the loop is cleared on hitting while one-track-looping. * A new menu item `NewBuffer' to open empty MonK buffer in menu bar menu (can be raised as well by C-mouse-3 in emacs-20/21). * Version 7 Edition 27: * ! (monk-shell-command), a new keyboard command. Executes a shell command line on a file as 'file property of the track on which the point sits. * The revival of old command C-c C-x (monk-remove-broken-tracks). It just deletes broken tracks. Convenient when you listen-and-delete mp3's (via dired/gnapster etc). * Version 7 Edition 26: * New undocumented track timer handler function: `monk-mode-line-update-mpg123' to emulate mpg123.el's track timer display, which can be (setq monk-track-timer-handler 'monk-mode-line-update-mpg123) Not tested well, and the emulation is not perfect at all. This handler function won't be maintained officially. * Fixes on cursor positioning on the commands: f (monk-play-forward) b (monk-play-backward) [mode-line mouse-2] (monk-mode-line-click-mouse) [mode-line drag-mouse-2] (monk-mode-line-drag-mouse) [mode-line drag-C-mouse-2] (monk-mode-line-C-drag-mouse) * Version 7 Edition 25: * Bulletproof the player command generator (monk-generate-command-generic) somemore. * Version 7 Edition 24: * The keybinding C-M-l for command monk-play-loop-region was lacked in 7.23. Fixed. * Fixes on looping multiple tracks (mainly C-M-l (monk-loop-marked-tracks) and M-L (monk-play-loop-region)). * Version 7 Edition 23: * Introduced a new command: C-M-l (monk-play-loop-region) to play tracks in the marked region repeatedly. * While scratching a short loop in a track, C-c C-c in *monk*prop*edit* buffer immediately propagates the edited properties to the monk-loop-data. * The problem on linux-2.4.4 is resolved in 2.4.5. You must not use linux-2.4.4 if, at least, you use MonK (upgrade to 2.4.5 immediately). * Version 7 Edition 22: * Small fixes. README updated (on cdda2wav command line examples). * [double-mouse-1] monk-mouse-play-this-track available. * Version 7 Edition 21: * Now you can pass preferred options to mpg123(1) and plaympeg(1) via these variables (both default nil): monk-mp3-player-command-options monk-smpeg-command-options * Now `type' property of a MIDI track is `mid' -- not `midi' anymore. * Small fixes. * Version 7 Edition 20: * Now [M-mouse-4/5] or [mode-line mouse-4/5] are bound to monk-mouse-play-prev and monk-mouse-play-next. * Considering the linux-2.4.x issue, variable `monk-rebuild-track-auto' now defaults nil. You should set it to t explicitly if you prefer auto-rebuilding-track at the beginning of playing a track. It may be t again in future versions, though. * Version 7 Edition 19: * The user option monk-rebuild-track-auto is automatically turned off while scratching a track (eg. via [mode-line C-drag-mouse-2]), to improve `scratch' performance. * Version 7 Edition 18: * Fixed monk-mp3.el to support linux-2.4.4. 7.17 failed to build or play an 'mp3 track on linux-2.4.4. Seems like something wrong in linux-2.4.4 ? * Version 7 Edition 17: * Version 7 Edition 16: * Now `mpg' (mpeg video) track supports commands f, b, [mode-line mouse-2] [mode-line drag-mouse-2], [mode-line C-drag-mouse-2] etc., to move forward/backward, jump to the desired location, or create a short loop. You might have to upgrade to plaympeg of smpeg-0.4.3. The looping is not so accurate for 'mpg tracks, because the loop-end timing is emulated by emacs lisp code (not by the player's command line option: eg. -n of mpg123: current plaympeg has no such option). * Version 7 Edition 15: * *monk* buffer looks better. Now tracks have a space between the mark on BOL and the track tag (as in dired buffer). MIDI track's tag is changed from "midi:" to "mid:". * Version 7 Edition 14: * A new command for 'cdaudio track only: ESC G, M-G, M-S-g (monk-goto-track-integer) The track number should be specified as numeric argument. * New commands: w (monk-copy-current-track) W (monk-copy-marked-tracks) * A new command in monk-ripper.el: M-x monk-toggle-watch-directory-add-new-file RET Universal/numeric ARG control is available. * Version 7 Edition 13: * Two coding system handling commands added: (monk-set-coding-system): (monk-set-file-name-coding-system): * A new command M-x monk-describe-coding-system RET reports briefly the values of the relevant coding system variables. * Version 7 Edition 12: * Small fixes and cleanup. * Removed unused old codes to handle `integer' type of `cdaudio' track. 3 to 4kb saved in src format. * Version 7 Edition 11: * Version 7 Edition 10: * Version 7 Edition 9: * Version 7 Edition 8: * Version 7 Edition 7: * monk-play-track-verbose: A new variable (user option). Defaults t. * After all, track marking / unmarking system introduced. The space has long been reserved at the beginning of track lines for a mark. m (monk-mark-track) u (monk-unmark-track) t (monk-toggle-mark) (New in 7.10) drag-mouse-1 (monk-mouse-sweep-region) (in 7.10, toggles mark) M, A (monk-mark-all-tracks) (New in 7.8) U (monk-unmark-all-tracks) (New in 7.8) T (monk-toggle-all-marks) (New in 7.8) M-m, %m (monk-mark-track-regex) (New in 7.9) M-u (monk-unmark-track-regex) (New in 7.9) Numeric arg for commands m and u is interpreted as number of tracks to be marked/unmarked. The mark is just "*". Other marks such as "D" is not available. * And a few operations on the marked tracks are available: K (monk-kill-marked-tracks) D (monk-remove-marked-tracks) (New in 7.11) W (monk-copy-marked-tracks) (New in 7.14) M-L (monk-loop-marked-tracks) double-mouse-3 (monk-kill-marked-tracks) (New in 7.10) M-mouse-2 (monk-mouse-yank-track) (New in 7.10) Watch out, the track marking and operation of marked tracks are very experimental. Eg., in looping by monk-loop-marked-tracks, the cursor position will not be updated as you expect yet. * drag-mouse-1 (monk-mouse-sweep-region) drags with mouse face (New in 7.11). * The `track' text-property is put under the track type tag (eg. mp3, cda etc.). * Version 7 Edition 6: * New commands for sorting tracks: M-x monk-sort-tracks-by-name RET M-x monk-sort-tracks-by-frames RET M-x monk-sort-tracks-by-time RET M-x monk-sort-tracks-by-type RET All accept ARG as reverse flag. Sorts all tracks in *monk* buffer. Face of the playing track, or cursor position can not be retained properly yet. Perhaps something weired may occur if tracks are sorted while monk-watch-directory-mode is turned on. * Fixes on command q (monk-quit). * Fixes on current directory (default-directory) handling on building tracks out of cdaudio, midi, mpeg, and mp3 files. * Version 7 Edition 5: * Fixes on command d (monk-dired-on-this). * Version 7 Edition 4: * README updated. `SUPPORTING MODES' section describing monk-watch-directory-mode, monk-edit-mode, and monk-revert-buffer-function/auto-revert-mode. * Small fix on monk-get-directory-files (monk-watch.el). * monk-watch-directory-handler (monk-watch.el) is modified to avoid racing condition of track-playing and the directory watch. * Version 7 Edition 3: * Version 7 Edition 2: * Small fixes on monk-watch.el. Do not try to add a file if its size is zero to avoid annoying messaging (esp. for mp3 files). Eliminated useless message on killing non-monk-buffers. * Version 7 Edition 1: * Corrected `monk-watch-directory-add-new-file' handling. The meaning of the monk-watch-directory-add-new-file is reversed (control was wrong in 7.0). * Version 7 Edition 0: * monk-watch.el is inlucluded in the package. It provides a new minor mode: monk-watch-directory-mode which is a sort of `auto-revert-mode' specialized for *monk* buffer. The mode can be controlled by a command `monk-watch-directory-mode' (the same name as the mode): M-x monk-watch-directory-mode RET toggles the mode, and positive/negative prefix argument turns on/off the mode. If monk-watch-directory-mode is enabled, the default-directory of the *monk* buffer is watched. If a new file readable by MonK is appeared in the directory, MonK loads it as a track, and already existing tracks are rebuilt if the relevant file is updated since the last watch. The mode is conceived to watch ~/mp3/incoming or ~/ripped/ARTIST. The adding-new-file facility can be turned off by setq'ing monk-watch-directory-add-new-file (defaults t) to nil. * monk-watch-directory-mode does not use autorevert.el, so it works on emacs-19 (I hope). * auto-revert-mode is still supported via `monk-revert-buffer-function', which is improved by calling function `monk-watch-check-directory', the core part of `monk-watch-directory-mode'. The variable `monk-watch-directory-add-new-file' does not affect the `monk-revert-buffer-function', which always reverts only existing tracks. The auto-revert-mode support might be dropped in future version. * Version 6 Edition 27: * Now default-directory of *monk* buffer is properly (hopefully) determined after drag-and-dropped via dired-dd. Function monk-dired-dd-drop-handler is fixed. * Cleaned up C-c C-c (monk-prop-edit-finish) in monk-prop-edit-mode. * M-x revert-buffer RET is supported (perhaps from v6.22, but the announce has been postponed until it is proved to work). The `revert-buffer-function' is bound to `monk-revert-buffer-function' in monk-mode. If your emacs has auto-revert-mode (autorevert.el), (C-u) M-x auto-revert-mode works for *monk* buffer as well. In the auto-revert-mode, only the existing tracks are reverted. Might be convenient to watch tracks from ~/mp3/napster/incoming/, or ~/monk/ripped//. Perhaps monk-watch.el will appear soon, and its monk-watch-mode (yet another auto-revert-mode) can watch default-directory of *monk* buffer, and revert and add new files as a track. Current `monk-revert-buffer-function' is slow because it rebuilds unconditionally all the tracks. When monk-watch.el is complete, `monk-revert-buffer-function' will be changed to revert only track associated to update files. The monk-ripper.el may be changed to popup a buffer with the new monk-watch-mode to watch the ripper output directory. * Run on emacs-21.0.98. * Version 6 Edition 26: * Small fixes. * C-c C-c (monk-prop-edit-finish) (in MonKPropEdit mode) fixed. Old code did not save back the edit result. * Version 6 Edition 25: * New bindings are added to monk-mode: M-mouse-4 (monk-play-prev) M-mouse-5 (monk-play-next) C-M-mouse-4 (monk-menu-play-backward) C-M-mouse-5 (monk-menu-play-forward) * Version 6 Edition 24: * monk-cddb script fixed. Old one did not call for remote cddb server on local cddb search/generation failed. * CD audio could not be played if post-filter is nil. Fixed. Why did nobody complain ? * Version 6 Edition 23: * Cleanup on README. * Fixed revert-buffer-function() handling. * Version 6 Edition 22: * Fix: C-o (monk-find-file), C-u works as described in README, or docstring. * Version 6 Edition 21: * Fixed bugs, and tried to be precise in mp3 track timing and frames display. * Version 6 Edition 19,20: * Small fixes: See Changelog. Fixes on 6.19 was wrong. Sorry for you who got 6.19. * Run on 21.0.97. * Version 6 Edition 18: * Fixes on l (monk-play-loop) (or by [mode-line mouse-C-drag-mouse]) in 6.17 was inconsistent and was not good enough. The fix refined. * Also fixed M-l (monk-loop-clear), s (monk-stop), SPC (monk-play-pause), C-c I (monk-write-id3-info). * Version 6 Edition 17: * Fixed l (monk-play-loop) (or by [mode-line mouse-C-drag-mouse]). Old code dropped into infinite loop at function monk-loop-clear(). * Version 6 Edition 16: * g (monk-rebuild-track) and C-c C-c (monk-rebuild-all-tracks: new, monk-remove-broken-track is deprecated) in monk-mode were fixed. Now the face and cursor position are controlled almost as expected. C-c C-c (monk-rebuild-all-tracks) is replaced with the old command monk-remove-broken-track. Refer to docstring of 'monk-rebuild-all-tracks, and 'monk-rebuild-track: nil ARG: Rebuild normal track, or just warn for inaccessible file. ARG < 1: Just remove broken track. No rebuild. non-nil ARG: Rebuild normal track and remove broken track. In the old C-c C-c (monk-rebuild-all-tracks), only 2nd and 3rd option were possible. * Unless a track associated with disk a file has 'post-filter property, the player command is invoked directly without shell (/bin/sh in most systems), and thus, theoretically, all the files with filename encoded with the damaged coding system (*) can be played unless they have to be played through post-filter. In playing an ripping CD audio, the limitation by the post-filter is not the big problem: (1) 'file (filename) property is not used to play a CD audio track. (2) Most of cddb track titles (which is to be the ripped output file name) are in ASCII, and ripping works nicely. (*) Damaged coding system: I mean Mostly SJIS (shifted JIS) -- the 16bit coding system conceived by MS and used to encode Japanese characters in MS Windows, which includes sh meta-characters ("/", "\", "`" etc.) as 2nd byte. * Version 6 Edition 15: * Shortly uploaded, but the command monk-rebuild-track was broken. Throw away if you have this edition. * Version 6 Edition 14: * C-c I (monk-write-id3-info) is available in monk-prop-edit-mode, and in monk-mode. You need id3tool-1.1f (or later) to save id3 data back into mp3 file associated to the track. * Version 6 Edition 13: * Variable `monk-use-cddb' is deprecated. Should use `monk-use-cddb-server' instead. If remote cddb server should be accessed, `monk-use-cddb-server' must be set to non-nil. * The script `monk-cddb' tries to generate cddb data using cdda2wav(1), and the availability of cddb data without remote cddb server is improved even if the new variable `monk-use-cddb-server' is left being nil (the default). cdda2wav(1) from cdrecord-1.9 or later required. * For versions older than 6.13, see ChangeLog. local variables: mode: indented-text end: