Skip to content

Commit

Permalink
0.3.14.3 release
Browse files Browse the repository at this point in the history
  • Loading branch information
HertzDevil committed Aug 4, 2016
1 parent b68f7de commit 0e7bf38
Show file tree
Hide file tree
Showing 6 changed files with 141 additions and 92 deletions.
10 changes: 5 additions & 5 deletions 0CC-FamiTracker.rc
Original file line number Diff line number Diff line change
Expand Up @@ -527,8 +527,8 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,3,14,2
PRODUCTVERSION 0,3,14,2
FILEVERSION 0,3,14,3
PRODUCTVERSION 0,3,14,3
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -544,13 +544,13 @@ BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "HertzDevil"
VALUE "FileDescription", "Extension of FamiTracker"
VALUE "FileVersion", "0.3.14.2"
VALUE "FileDescription", "0CC-FamiTracker, Extension of FamiTracker"
VALUE "FileVersion", "0.3.14.3"
VALUE "InternalName", "0CC-FamiTracker.exe"
VALUE "LegalCopyright", " (c) jsr, HertzDevil 2005-2016 All rights reserved."
VALUE "OriginalFilename", "0CC-FamiTracker.exe"
VALUE "ProductName", "0CC-FamiTracker"
VALUE "ProductVersion", "0.3.14.2"
VALUE "ProductVersion", "0.3.14.3"
END
END
BLOCK "VarFileInfo"
Expand Down
80 changes: 43 additions & 37 deletions 0CC-readme.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
0CC-FamiTracker Mod
Readme / Manual
Written by HertzDevil
Version 0.3.14.2 - May 23 2016
Version 0.3.14.3 - Aug 04 2016

--------------------------------------------------------------------------------

Expand All @@ -14,9 +14,9 @@ new features that work in exported NSFs and interface improvements. The name
"0CC" comes from the author's favourite arpeggio effect command. The current
version includes:

- Partial FamiTracker 0.5.0 beta support
- Sound engine extensions:
- Sunsoft 5B support (per official 0.4.2)
- Ad-doc multichip NSF export
- Ad-hoc multichip NSF export
- Echo buffer access
- Polyphonic note preview
- New effects:
Expand Down Expand Up @@ -46,11 +46,10 @@ with "// // //"; those to the ASM source with ";;; ;; ;" and "; ;; ;;;". Since
version 0.3.12, the source code is no longer included within the download;
always consult the Github page for up-to-date source code files.

The current build is based on the version 0.4.6 release of the official
FamiTracker. 0CC-FamiTracker will be ported to newer official releases whenever
their source code becomes available; features added in 0CC-FamiTracker may not
have identical behaviour as respective features added to the official branch
after the current base version.
The current build is based on the version 0.5.0 beta 5 release of the official
FamiTracker. 0CC-FamiTracker will be ported to newer official releases once they
become available; features added in 0CC-FamiTracker may not have identical
behaviour as the corresponding features on the official branch.



Expand All @@ -72,36 +71,39 @@ after the current base version.



+======================+
| Sunsoft 5B Support |
+======================+

0CC-FamiTracker fully supports the Sunsoft 5B chip based on the implementation
of official FamiTracker 0.4.2. The Sunsoft 5B chip is functionally identical to
a YM2149F chip with half clock speed.

The 5B noise / mode sequence, as well as the Vxx effect, takes four parameters:
+==================================+
| FamiTracker 0.5.0 Beta Support |
+==================================+

- Bits 0 - 4 determine the 5B noise frequency, lower values have higher pitch;
(Since there is only one noise output, noise period values from channels to
the right will override those to the left. This is not thoroughly tested.)
- Bit 5 selects the envelope output;
- Bit 6 selects the square wave output;
- Bit 7 selects the noise output.
0CC-FamiTracker 0.3.14.3 and above support the loading of modules created in any
beta build of official FamiTracker 0.5.0. See
https://gist.github.com/HertzDevil/c158d826a344e5ffbc0c0989e1c96a24 for the
current status of porting 0.5.0 beta module features.

The 5B channels also use these chip-exclusive effects:
The current implementation of the Sunsoft 5B chip, which dates back from version
0.3.0, is different from the official beta in the following ways:

- Hxx sets the low byte of the envelope period;
- Ixx sets the high byte of the envelope period;
- Jxx sets the envelope shape.
- Hxy and Jxx are currently swapped.
- Jx0 does not affect whether the current channel produces envelope output.
Only Vxx and the instrument noise / mode sequence may be used to control the
envelope flag.
- The envelope generator is retriggered whenever a note triggers while envelope
output is enabled on the channel it belongs to, or any Jxy effect command is
issued.
- Vxx reflects the raw value of the noise / mode sequence, which is combined
from the output flags and the noise frequency, while the beta splits this
into Vxx and Wxx.
- A value of 0 in the noise / mode sequence gives the highest noise pitch
whereas 31 gives the lowest. This is inverted in the official beta.

See http://wiki.nesdev.com/w/index.php/Sunsoft_audio for more information.
0CC-FamiTracker continues to save modules in the format version that is readable
by official version



+===========================+
| Expansion Chip Selector |
+===========================+
+===============================+
| Ad-hoc Multichip NSF Export |
+===============================+

The Module Properties dialog now uses the same expansion chip selector as ipi's
mod (http://famitracker.com/forum/posts.php?id=5235). Each expansion chip can be
Expand Down Expand Up @@ -184,10 +186,11 @@ chip and the MMC5 pulse channels:
instead of the output amplitude. Smaller values give a faster decay. If the
length counter is disabled (see below), the output amplitude warps, otherwise
it stays at 0 after the decay finishes. On the triangle channel, this bit
toggles the linear counter instead.
Bit 1 toggles the length counter on the pulse channel or the noise channel.
Both this and the triangle channel's linear counter cut the channel's output
after a fixed number of counter clocks have elapsed, whichever comes first.
also toggles the linear counter since both must be active at the same time.
Bit 1 toggles the length counter on the pulse or noise channel. On the
triangle channel, both this and the linear counter may cut the channel's
output after a fixed number of counter clocks have elapsed, whichever comes
first.
- E00 - E1F
Sets the length counter to the value listed below, and enables the length
counter if it was disabled. Works on the pulse, triangle, or noise channel.
Expand Down Expand Up @@ -854,8 +857,11 @@ combinations are the default hotkeys if provided)
Deactivates the current selection, if any. This shortcut exists in the
official build but is not assignable there.
- Select row/column/pattern/frame/channel/track
Selects the entire area of the given scope containing the cursor. Multi-
frame selections must be enabled for the "Channel" and "Track" scopes.
Selects the entire area of the given scope containing the cursor. Multi-frame
selections must be enabled for the "Channel" and "Track" scopes.
- Select in other editor
If the pattern editor is active, moves the current selection to the frame
editor, or vice versa.
- Go to row (Alt+G)
Brings up a dialog which allows moving the cursor to any position in the
current song.
Expand Down
68 changes: 67 additions & 1 deletion changelog.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,76 @@
0CC-FamiTracker Mod
Change Log
Written by HertzDevil
Version 0.3.14.2 - May 23 2016
Version 0.3.14.3 - Aug 3 2016

--------------------------------------------------------------------------------

V0.3.14.3 - 08/03/16
Additions:
- Ported the following features from 0.5.0 beta:
- Reading 0.5.0 beta FTMs and importing 0.5.0 beta text files
- 5B Hxx / Ixx / Jxy pattern effects (H and J swapped according to 0CC-FT)
- && hold instrument command
- Absolute instrument pitch sequences
- 64-step instrument volume sequences for VRC6 sawtooth
- Module global tuning
- Player bookmark (as "row marker")
Improvements:
- Ported the following changes from 0.5.0 beta:
- Sunsoft 5B code using Blip_Buffer
- MML field entry for 5B noise / mode sequences
- Removing octave setting in DPCM assignment editor
- Average BPM display
- [WIP] Fast volume meter decay rate
- Saving / loading themes
- Reset button in mixer configuration menu
- Registry entry for frame editor font
- Movable toolbars
- New tracker identity:
- Tracker now fully uses "0CC-FamiTracker" as application title and uses its
own registry key (loads default values from official FamiTracker)
- New application icon and document icon
- New visualizer display
- Added support for DPI scaling
- Selections in the frame editor now have channel scope
- Added a command to move the current selection to the active editor window
- "Paste & Duplicate" and drag & drop cloning for the frame editor now reuse
common pattern indices within selection
- Overwrite pasting and range selection commands now work in the frame editor
- Added a pseudo-term "$$" for MML fields which treats all subsequent terms as
hexadecimal even without an explicit "$" or "x" prefix
- Fixed arpeggio sequences may accept note names in the MML field
- Added buttons to toggle 5B envelope output in the graph editor for 5B noise /
mode sequences
- Redone detune dialog
- "Strict" is now above "Official" for module error levels
Bug fixes:
- Fixed tracker crashing when retrieving the state of a non-existent groove
- Fixed pattern editor not allowing C-0 in polyphonic note preview
- Fixed pattern editor not moving to the new frame after dragging a selection
outside the current frame
- Fixed "Left Edge" and "Right Edge" on the pattern editor's horizontal scroll
bar
- Fixed tracker using parent directory as last used folder after loading
multiple instrument files or DPCM samples
- Fixed N163 instrument wave editor displaying 40 as the wave size if it used
a wave size of 4
- Fixed C-1 and C#1 on the search query's note field matching note release and
note cut respectively
- Fixed search wildcards not working for insturment and volume fields
- Fixed search results dialog moving the cursor to the incorrect channel for
expansion chips
- Fixed DPCM channel playing note C-0 if it contains an active note after
retrieving the channel state
- Fixed "Recall channel state" command crashing on retrieving the state of a
non-existent groove
- Fixed instrument recorder not working for the FDS channel
- Exx effect now works on the triangle channel
- Fixed VRC6 sawtooth outputting sound in exported NSFs when the instrument
volume is 0
- Fixed VRC7 using an incorrect pitch lookup table in exported NSFs
- Fixed VRC7 not making any sound in exported NSFs after using a note release

V0.3.14.2 - 05/23/16
Additions:
- Added linear pitch mode (originally from official 0.4.0)
Expand Down
29 changes: 0 additions & 29 deletions resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#define IDS_CLIPBOARD_COPY_ERROR 102
#define IDS_CLIPBOARD_PASTE_ERROR 103
#define IDS_DPCM_SPACE_FORMAT 104
#define IDS_FILE_VERSION_TOO_NEW 105
#define IDS_INSTRUMENT_EDITOR_TITLE 106
#define IDS_INST_VERSION_UNSUPPORTED 107
#define IDS_FILE_SAVED 108
Expand All @@ -26,7 +25,6 @@
#define IDS_SONG_DELETE 114
#define IDS_SOUND_FAIL 115
#define IDS_UNDERRUN_MESSAGE 116
#define IDS_WELCOME_VER 117
#define IDS_WELCOME_VER_FORMAT 117
#define IDS_DPCM_IMPORT_INVALID_WAVEFILE 118
#define IDS_INST_FILE_ERROR 119
Expand All @@ -50,10 +48,7 @@
#define IDS_CLIPBOARD_ERROR 131
#define IDS_FILE_OPEN_ERROR 132
#define ID_CMD_NEXT_INSTRUMENT 132
#define IDS_FILE_VALID_ERROR 133
#define ID_CMD_PREV_INSTRUMENT 133
#define IDS_FILE_VAID_ERROR 133
#define IDS_FILE_VERSION_ERROR 134
#define ID_CMD_INCREASESTEPSIZE 134
#define IDS_INST_LIMIT 135
#define ID_CMD_DECREASESTEPSIZE 135
Expand All @@ -65,7 +60,6 @@
#define ID_FOCUS_FRAME_EDITOR 139
#define ID_FOCUS_PATTERN_EDITOR 140
#define IDS_CLIPPING_MESSAGE 140
#define IDS_OPEN 141
#define ID_CMD_STEP_UP 141
#define IDS_FILTER_FTI 141
#define ID_CMD_STEP_DOWN 142
Expand All @@ -80,13 +74,11 @@
#define IDD_SPEED 146
#define IDS_OUT_OF_SLOTS 146
#define IDD_PCMIMPORT 147
#define IDS_OUT_OF_SAMPLEMEM 147
#define IDS_OUT_OF_SAMPLEMEM_FORMAT 147
#define IDS_DPCM_IMPORT_GAIN_FORMAT 148
#define IDS_OPEN_FILE_ERROR 149
#define IDS_INFO_COPYRIGHT 150
#define IDS_IMPORT_FAILED 151
#define IDS_IMPORT_CHIP_MISMATCH 152
#define IDS_IMPORT_INSTRUMENT_COUNT 153
#define IDS_IMPORT_SAMPLE_SLOTS 154
#define IDS_DPCM_IMPORT_TITLE_FORMAT 155
Expand All @@ -97,7 +89,6 @@
#define IDD_INSTRUMENT_DPCM 159
#define IDS_PERFORMANCE_UNDERRUN_FORMAT 159
#define IDD_INSTRUMENT 160
#define IDS_DPCM_IMPORT_INVALID_WAVE 160
#define IDS_LOADING_FILE 160
#define IDS_FILTER_DMC 161
#define IDS_FILTER_WAV 162
Expand All @@ -108,7 +99,6 @@
#define IDS_ABOUT_TOOLTIP_MAIL 167
#define IDS_ABOUT_TOOLTIP_WEB 168
#define IDS_ABOUT_VERSION_FORMAT 169
#define IDB_VISUALIZER 169
#define IDS_PROPERTIES_CHANNELS 170
#define IDS_LOADING_DONE 171
#define IDB_KEY_BLACK 172
Expand Down Expand Up @@ -142,7 +132,6 @@
#define IDS_DUMP_NOT_SUPPORTED 185
#define IDS_SEQUENCE_LIMIT 186
#define IDS_FIND_NONE 187
#define IDS_REPLACE_ALL 188
#define IDS_FINDRESULT_COUNT 188
#define IDS_IMPORT_SEQUENCE_COUNT 189
#define ID_FIND_NEXT 190
Expand All @@ -156,7 +145,6 @@
#define IDD_CONFIG_SOUND 201
#define IDS_FILE_LOAD_ERROR 204
#define IDS_CONFIG_WINDOW 205
#define IDS_WELCOME 206
#define IDS_SAVE_ERROR 210
#define IDD_CONFIG_SHORTCUTS 211
#define IDD_OCTAVE 212
Expand All @@ -170,7 +158,6 @@
#define IDR_FRAME_POPUP 240
#define IDI_INST_N163 245
#define IDI_INST_FDS 246
#define IDI_INST_5B 247
#define IDI_INST_S5B 247
#define IDD_INSTRUMENT_FDS 248
#define IDS_KRAID 250
Expand Down Expand Up @@ -281,7 +268,6 @@
#define IDC_SONG_COPYRIGHT 1069
#define IDC_ARPEGGIATE 1069
#define IDC_FONT 1071
#define IDC_ABOUT 1072
#define IDC_PATTERNCOLORS 1072
#define IDC_ABOUT1 1072
#define IDC_ABOUT2 1073
Expand Down Expand Up @@ -389,12 +375,10 @@
#define IDC_MOD_DELAY 1195
#define IDC_PLAY 1195
#define IDC_MOD_DELAY_SPIN 1196
#define IDC_POS 1196
#define IDC_DELETE 1197
#define IDC_PRESET_PULSE_25 1197
#define IDC_C_DM 1197
#define IDC_C_AR 1198
#define IDC_INFO 1198
#define IDC_C_DR 1199
#define IDC_C_SL 1200
#define IDC_TILT 1200
Expand Down Expand Up @@ -500,14 +484,9 @@
#define IDC_SLIDER_OCTAVE 1308
#define IDC_SLIDER_DETUNE_SEMITONE 1309
#define IDC_SLIDER_DETUNE_CENT 1310
#define IDC_BUTTON_TUNE 1311
#define IDC_BUTTON_RESET 1312
#define IDC_BUTTON_IMPORT 1313
#define IDC_BUTTON_EXPORT 1315
#define IDC_EDIT_CENT 1317
#define IDC_SPIN_CENT 1318
#define IDC_RADIO_CURRENT 1320
#define IDC_RADIO_ALL 1321
#define IDC_EXPANSION_VRC6 1331
#define IDC_EXPANSION_VRC7 1332
#define IDC_EXPANSION_FDS 1333
Expand Down Expand Up @@ -551,7 +530,6 @@
#define IDC_COMBO_FIND_IN 1386
#define IDC_EDIT_FIND_VOL2 1387
#define IDC_COMBO_EFFCOLUMN 1389
#define IDC_CHECK_REPLACE_ALL 1390
#define IDC_CHECK_VERTICAL_SEARCH 1392
#define IDC_CHECK_REPLACE_NOTE 1393
#define IDC_CHECK_REPLACE_VOL 1394
Expand Down Expand Up @@ -593,7 +571,6 @@
#define IDC_SPIN_RECORDER_COUNT 1432
#define IDC_CHECK_VERSION_EDIT 1433
#define IDC_CHECK_VERSION_SAVE 1434
#define IDC_CHECK_VERSION_BLOCK 1435
#define IDC_RADIO_SEMITONE_INC 1436
#define IDC_RADIO_SEMITONE_DEC 1437
#define IDC_BUTTON_TRSP_CLEAR 1438
Expand Down Expand Up @@ -662,7 +639,6 @@
#define ID_POPUP_TOGGLECHANNEL 32963
#define ID_MODULE_DUPLICATEFRAME 32964
#define ID_EDIT_REVERSE 32984
#define ID_INSTRUMENT_ADD 32995
#define ID_INSTRUMENT_REMOVE 32996
#define ID_INSTRUMENT_EDIT 32997
#define ID_INSTRUMENT_CLONE 32998
Expand All @@ -677,11 +653,6 @@
#define ID_POPUP_PICKUPROW 33032
#define ID_POPUP_UNMUTEALLCHANNELS 33037
#define ID_MODULE_CHANNELS 33038
#define ID_INSTRUMENT_ 33039
#define ID_HELP_CHECKFORNEWVERSIONS 33040
#define ID_EDIT_EXPANDPATTERN 33041
#define ID_EDIT_SHRINKPATTERN 33042
#define ID_FILE_IMPORT 33046
#define ID_MODULE_REMOVEFRAME 33050
#define ID_MODULE_COMMENTS 33051
#define ID_MODULE_INSERTFRAME 33052
Expand Down
Loading

0 comments on commit 0e7bf38

Please sign in to comment.