Commit graph

392 commits

Author SHA1 Message Date
cam900
62f1ba73eb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-29 22:05:41 +09:00
tildearrow
0acca7458d chip flags rewrite, part 2
move systemFlags to legacy status
2022-09-29 03:29:24 -05:00
tildearrow
7770ca8965 SNES: more fixes (especially GUI ones) 2022-09-28 19:33:16 -05:00
tildearrow
6028523eaf dev118 - SNES true sustain 2022-09-28 19:08:22 -05:00
cam900
81bebc5112 Reduce unnecessary changes, Volume macro fixes, calcArp 2022-09-25 19:21:49 +09:00
cam900
5a6cde65ed Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:34:36 +09:00
cam900
8e1ce1abb1 Sync to master 2022-09-25 18:32:34 +09:00
cam900
0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
tildearrow
b4c020c11b SNES: invert/pitch mod/noise control
echo still work in progress
2022-09-25 03:33:39 -05:00
tildearrow
a0dc9de262 ADSFGGGGGJKSDGHASLJKFHL 2022-09-24 19:40:03 -05:00
tildearrow
c0de45ff0c Merge branch 'snes' of https://github.com/akumanatt/furnace into akumanatt-snes 2022-09-24 02:53:11 -05:00
tildearrow
04117c5098 Purposeful Conflict 2022-09-24 02:41:29 -05:00
tildearrow
d0e581e4cd OPM/NES ins type split, part 2 2022-09-24 01:37:29 -05:00
tildearrow
3d5125e792 OPM/NES ins type split, part 1 2022-09-24 01:33:36 -05:00
tildearrow
5dfa089c49 GUI: some UI corrections
and prepare for OPM/NES split
2022-09-24 00:57:53 -05:00
cam900
e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
tildearrow
b053d31a6d implement KVS on the rest of FM chips 2022-09-22 01:30:51 -05:00
tildearrow
ac68419b78 implement KVS on YM2612 2022-09-22 01:18:41 -05:00
tildearrow
51c142169f GUI: OPZ compact editor fixes 2022-09-21 23:25:57 -05:00
Natt Akuma
7956d41f1b SNES: Get wavesynth and envelope working
No samples, inverted volumes and E/P/N yet
It's been 3 months...
2022-09-18 18:33:54 +07:00
tildearrow
6bf6a854ef GUI: comfortable wave macro height 2022-09-17 22:55:58 -05:00
cam900
0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
tildearrow
587e066d43 GUI: randomize in macros under the right click 2022-09-16 00:18:14 -05:00
tildearrow
aa38292ca4 GUI: fix OPLL/OPL op swapping 2022-09-16 00:04:43 -05:00
tildearrow
d19c6fc236 GUI: add operator copy 2022-09-13 03:29:28 -05:00
tildearrow
6e1f54b777 YM2612: implement OpMask
will be done for OPM and the rest of the OPN chips later
2022-09-12 01:50:27 -05:00
tildearrow
7b1713758b dev114 - operator muting for OPN/OPM 2022-09-12 00:37:25 -05:00
tildearrow
b82e96ec20 GUI: fix toggles losing their colors on hover 2022-09-10 23:50:53 -05:00
tildearrow
2f0e97f6d9 GUI: FM operator swapping 2022-09-10 23:20:22 -05:00
tildearrow
0ac92209d0 GUI: even more mobile work 2022-09-09 18:53:20 -05:00
tildearrow
d021005f26 GUI: fix arp macro hover 2022-09-09 16:41:00 -05:00
tildearrow
7e065e4cfe GUI: more mobile UI things 2022-09-09 15:31:29 -05:00
tildearrow
f7bca46a4a GUI: implement save as format in editors as well 2022-09-04 02:37:43 -05:00
cam900
54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900
4cc79fb49d Prepare for split sample chip instrument
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.

different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
tildearrow
96b3ccab8a I see UI!!!! 2022-08-23 03:57:21 -05:00
tildearrow
226f43fea3 several important bug fixes to advanced arp macro 2022-08-22 19:09:08 -05:00
tildearrow
c009cb3536 dev112 - prepare for advanced arp macro
this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)

the UI is still a work in progress and doesn't work well

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05:00
tildearrow
3b6fa212b8 implement macro speed/delay 2022-08-22 03:52:32 -05:00
tildearrow
2650fe609f dev111 - many macro changes
- max macro length is now 255
- loop/rel pos is now unsigned (255 = no)
- prepare for macro speed/delay
2022-08-22 02:13:33 -05:00
tildearrow
f01be34b5e GUI: highlight current macro position
not for op macros (yet)
2022-08-20 01:10:30 -05:00
tildearrow
4d057d3328 dev109 - define SNES instrument params 2022-08-19 19:42:01 -05:00
tildearrow
9c80f91870 relative 2022-08-19 00:00:10 -05:00
cam900
13158b86cf Clamp height of panning macro when higher than 128
so, current filter macro behavior is:
"Fixed" option enabled: override current filter value to macro value
"Fixed" option disabled: current filter value = filter value determined from ES5506 tab or command ± filter macro value
2022-08-19 12:03:25 +09:00
tildearrow
9bd3f6c34b remove delta mode entirely
so it was used on the filter but i'm not sure why couldn't it be
done in absolute mode instead
2022-08-18 18:36:22 -05:00
tildearrow
c473f94f0d remove delta mode
it's unnecessary in my opinion

unless I am missing something
2022-08-18 18:21:51 -05:00
tildearrow
aa1e34ffd3 Revert "Fix duplication"
This reverts commit 446e62c69f.
2022-08-18 18:05:34 -05:00
tildearrow
fa6a61e493 Revert "Fix panning macro height"
This reverts commit 087ff27f06.
2022-08-18 18:05:13 -05:00
cam900
087ff27f06 Fix panning macro height 2022-08-19 00:18:46 +09:00
cam900
446e62c69f Fix duplication 2022-08-18 21:29:48 +09:00
cam900
5190c6daab Implement ES5506 instrument type
ES5506 has these features:
- 16 bit independent volume register per left/right output (Logarithmic, 4 LSB is for envelope)
- Programmable filter per each channels, 4 pole, 4 filter mode and 2 16 bit coefficient register (4 LSB is for envelope)
- Hardware envelope

Add more than 2 macro type support
"Delta" macro type: Use delta from previous value
2022-08-18 21:20:10 +09:00
tildearrow
4e7eb728db GUI: fix moving GB HW seq step down 2022-08-17 18:37:16 -05:00
tildearrow
55d12e1ada GUI: finally re-organize the GB env UI 2022-08-17 18:29:40 -05:00
tildearrow
39feda54ac OPZ: volume macro should go to 127 2022-08-12 04:11:17 -05:00
tildearrow
b156336216 GUI: fix Game Boy ins edit crashes 2022-08-11 14:27:33 -05:00
tildearrow
00ae5b4142 GUI: fix volume macro always being 15
issue #629
2022-08-11 11:30:45 -05:00
tildearrow
df10b6cc59 Game Boy: hardware sequences, part 3
the previous commit was part 2
2022-08-10 14:16:26 -05:00
tildearrow
28698beaf3 dev106 - Game Boy: implement hw seq
and prepare for software envelope maybe
2022-08-10 01:55:44 -05:00
tildearrow
800f08b0fd Game Boy: hardware sequences, part 1
still not working! just the UI for it
2022-08-07 06:06:14 -05:00
tildearrow
5534f55f7a dev104 - add "is sample" flag to Sound Unit ins 2022-08-06 04:04:18 -05:00
tildearrow
eafbf24290 GUI: YM2423 patch names
thanks freq-mod!
2022-08-03 17:31:00 -05:00
tildearrow
0183c5d9ff GUI: remove one new line 2022-08-03 14:41:53 -05:00
tildearrow
034b4fd4f6 GUI: YMF281 patch names
thanks nicco1690!
2022-08-03 00:10:32 -05:00
tildearrow
1f57d09fbf GUI: display correct OPLL patch names 2022-08-02 23:16:42 -05:00
Aleksi Knutsi
8011e7adc7
Implement Phase Reset Timer macro for Sound Unit (#573)
* Implement Phase Reset Timer Macro

* And make the macro actually work

* Delete ex4Max variable
2022-07-23 19:13:30 -05:00
tildearrow
a137eefd20 GUI: refine the Namco [C]163 chip name option 2022-07-21 19:00:32 -05:00
tildearrow
f6b45d3d9b GUI: add Namco C163 chip name option 2022-07-21 15:21:29 -05:00
cam900
4e8d71fc22
Fix sample map struct
Structize sample map variable is for easily extend features.
2022-07-21 13:42:20 +09:00
cam900
a5959ae7b9 Struct-ize sample map variable 2022-07-20 23:01:06 +09:00
cam900
f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
tildearrow
96bc63470f GUI: add unsigned detune option
closes #559
2022-06-28 15:06:22 -05:00
tildearrow
f8347ac50f GUI: fix several things in OPL drums ins editor
- alternate layout being wrong
- macros being wrong
2022-06-27 03:30:57 -05:00
cam900
8ae1d36ab6 Typecasting here 2022-06-26 09:56:07 +09:00
cam900
04af689ae9 Fix typecasting(again) 2022-06-26 09:28:18 +09:00
cam900
3119ed8cc5 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-06-26 00:47:34 +09:00
cam900
2b5bb91237 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (55 commits)
  GUI: get rid of these stupid icons
  update to-do list
  MSM6258: the final bits
  MSM6258: clock/rate selection
  MSM6258: prepare for rate changing
  Update n163.md
  YM2612: DualPCM per-channel osc
  YM2612: more DualPCM muting fixes
  YM2612: fix DualPCM muting
  GUI: finish the blank ins up
  GUI: add "blank new instrument" option
  GUI: add mono/poly note preview button
  PC speaker: don't use printf/perror
  YM2612: CSM arpeggio and slides
  YM2612: - C   S   M -
  YM2612: half-working CSM
  YM2612: earliest completely untested CSM work
  delay collapse/expand pattern/song feature :<
  GUI: much more stable osc view
  YM2612: fix DAC output not visible in per-chan osc
  ...

# Conflicts:
#	src/engine/platform/genesis.cpp
#	src/engine/platform/genesis.h
#	src/ta-utils.h
2022-06-26 00:36:36 +09:00
Natt Akuma
22dd22ca33 Allow accessing all 256 waves in macros 2022-06-22 19:38:29 +07:00
tildearrow
2313e4fcc3 GUI: temporarily remove freqs in sample map 2022-06-19 14:03:36 -05:00
cam900
0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
tildearrow
327a013186 GUI: finish alternate FM layout 2022-06-13 23:22:17 -05:00
tildearrow
bd7710991b GUI: a bit more to it 2022-06-13 03:57:31 -05:00
tildearrow
17fb152e25 GUI: work on alternate FM layout 2022-06-13 03:54:42 -05:00
cam900
e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow
a945ee5353 GUI: disclaimer about OPLL drums volume slider 2022-05-31 18:06:45 -05:00
tildearrow
9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
cam900
3b411cd14f Fix dead link, Frequency, Instrument editor related issue 2022-05-31 13:48:35 +09:00
cam900
a3bca9efa7 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 12:18:46 +09:00
tildearrow
e9f17168a4 prepare for OPL drums instrument type
#310
2022-05-30 18:37:07 -05:00
cam900
32152fd89b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (53 commits)
  prepare for better backward writing
  VGM export: fix oops
  GUI: drag-and-drop ins/wave/sample loading
  GUI: add "set loop" to sample editor
  MSM6295: VGM export!
  oops
  MSM6295: add rate select effect (20xx)
  update meteor shower
  MSVC is better than GCC right?
  update to-do list
  door into summer
  GUI: implement input for touch events
  GUI: update SDL hints
  fix Termux build
  add another demo song
  add demos/ecolove.fur
  update to-do list
  update demos/README.md
  add new demo songs
  dev99 - major Fractal system change
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/genesis.cpp
#	src/engine/playback.cpp
#	src/engine/song.h
#	src/engine/vgmOps.cpp
2022-05-29 13:47:39 +09:00
cam900
cbf20c6320 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (58 commits)
  SMS: early Nuked-PSG modding
  SMS: add modified Nuked-PSG core
  build release and don't strip
  strip MinGW builds
  FDS: a bit more
  FDS: set a post-amp value
  FDS: fix NSFplay core low pass filter precision
  fix .dmf saving
  fix compilation on GCC 12
  Fix multithreading on CI
  Lynx: why did I not commit this
  Lynx: more sample improvements
  Lynx: sample improvements
  Lynx: add sample support!
  GUI: fix wavetable list oversight
  WaveSynth: fix phase modulation - again
  GUI: fix possible wave editor crash
  WaveSynth: fix phase modulation
  Lynx: add phase reset macro
  fix another fucking IGFD crash bug
  ...

# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/presets.cpp
2022-05-27 13:01:06 +09:00
Mahbod-Karamoozian
186dd8c522
Modern layout fix
This fixes the problem that is present in raijin's layout
2022-05-26 23:44:04 +04:30
tildearrow
42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -05:00
cam900
17881837ab Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (64 commits)
  finish wave synth!
  update contributing guidelines
  Namco WSG: make non-linear slides faster
  wave synth work
  SoundUnit: fix order of filter bits
  GUI: add Namco arcade presets
  implement some dual wave synth effects
  Y8950: fix ADPCM VGM export
  Namco WSG: finish it up
  Namco WSG: 8 channel WSG (CUS30) now works
  Namco WSG: muting
  Namco WSG: 8 channel WSG (15xx) now works
  Namco WSG: 3 channel WSG now works
  YM2612: change key on/off strategy
  GUI: fix scrollbars not working
  Please enter the commit message for your changes.
  shhhhhhhhhhhh
  update to-do list
  Whoops
  it doesn't work (yet)
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/su.cpp
#	src/engine/playback.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/song.h
#	src/engine/vgmOps.cpp
#	src/gui/presets.cpp
2022-05-25 00:52:00 +09:00
cam900
f7ba60bfa9 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (46 commits)
  PCE: fix two issues
  SegaPCM: fix samples bigger than 64KB
  SCC: implement VGM soft reset
  GUI: add option to clear orders
  GUI: implement "clear all subsongs"
  GUI: fix crash when deleting current subsong
  CI: only 1 core for MinGW
  Fix AY8910 envelope hangs
  OPL: fix fixed frequency drums
  pick nits: the sequel
  pick nits
  AY: fix possible hang
  hide .ftm format
  Add x2 icon variations as well
  Install more size variations on Linux
  OPLL: fix fixed drums freq
  GUI: make backupTimer atomic
  Have OPN* platforms set the correct YM2149 chip type.
  update to-do list
  ZX beeper: clarify effects (will be done later)
  ...

# Conflicts:
#	src/engine/platform/segapcm.cpp
2022-05-22 18:24:17 +09:00
tildearrow
806153fd8e finish wave synth! 2022-05-22 03:14:46 -05:00
tildearrow
367d14357c wave synth work
now there is a preview
2022-05-21 18:36:15 -05:00
tildearrow
61916be495 SoundUnit: fix order of filter bits 2022-05-21 16:04:06 -05:00
tildearrow
315c2645d2 Namco WSG: finish it up 2022-05-21 02:56:36 -05:00
tildearrow
9162e8e241 Namco WSG: 8 channel WSG (CUS30) now works 2022-05-21 02:16:38 -05:00
tildearrow
dca2aec606 GUI: fix scrollbars not working 2022-05-20 21:57:41 -05:00
tildearrow
251734bd04 prepare for the last chips for 0.6pre1
YMZ280B is counted. don't worry.
2022-05-20 02:43:39 -05:00
tildearrow
a34481205a GUI: more mobilework 2022-05-19 16:35:00 -05:00
cam900
028adf2c8e Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (70 commits)
  whoops
  GUI: AY8930 credits
  GUI: fix inability to close subsongs
  BANK
  OPN: wire up ExtCh system
  fix build failure
  dev95 - multiple songs in a single file (READ)
  DO NOT USE - THIS FAILS - WORK IN PROGRESS
  enforce asset limits
  old .dmf loading improvements
  add AICA and YMZ ADPCM formats
  allocate ID for YMZ280B
  harden .fur file saver
  Fix AY VGM output, Fix presets
  preparations for UI improvements
  GUI: add more presets
  prepare for ExtCh OPN/OPNA
  GUI: clarify that lock layout doesn't work yet
  GUI: remember last state of order edit mode
  GUI: store edit/followOrders/followPattern state
  ...

# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610b.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/sysDef.cpp
#	src/gui/doAction.cpp
#	src/gui/sysConf.cpp
2022-05-18 03:09:55 +09:00
tildearrow
895765b68a and here's your ZX beeper
no real hardware yet
specs of this dispatch may change at any time to fit a driver
2022-05-14 00:22:23 -05:00
tildearrow
613b538fb9 GUI: add setting to bring old macro vSlider back 2022-05-12 03:29:34 -05:00
tildearrow
76adccc0fc GUI: even more improvements to macro editor 2022-05-12 03:01:35 -05:00
tildearrow
0e03bf6bec GUI: fix default vScroll for pitch macro 2022-05-12 02:49:09 -05:00
cam900
54e78699a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev94 - add a full linear pitch mode, part 1
  YM2610(B): use f-num/block baseFreq calculation
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
2022-05-11 00:55:03 +09:00
cam900
4efa711a2b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (44 commits)
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  Fix outdated calling convention in SAASound (maybe fix MinGW)
  GUI: macro UI refactor, part 3
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Maybe just enforce for C++
  Forbid standard extensions
  .ftm loading progress (incomplete, not working)
  ...

# Conflicts:
#	src/engine/instrument.h
#	src/gui/insEdit.cpp

Transwave Checkpoint
2022-05-11 00:16:20 +09:00
tildearrow
2e9bd65b9e GUI: right click menu for open instrument 2022-05-09 13:20:44 -05:00
tildearrow
580d982f1e GUI: add macro right click menu 2022-05-08 18:32:16 -05:00
tildearrow
3963f93aa4 GUI: prepare for macro right click menu 2022-05-08 17:35:21 -05:00
tildearrow
787eda0a34 GUI: macro edit improvements
- reset zoom levels when changing instrument type
- set a default zoom level for pitch macro
2022-05-08 04:45:48 -05:00
cam900
ab1ac51d68 Fix build, Transwave Checkpoint 2022-05-08 17:56:52 +09:00
tildearrow
2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow
3170803389 GUI: macro UI refactor, part 4 2022-05-07 18:30:16 -05:00
tildearrow
24b7dd6f54 GUI: macro UI refactor, part 3
we have a scrollbar (i think)
2022-05-07 16:25:02 -05:00
tildearrow
d4d3cb44b9 GUI: macro UI refactor, part 2
the macro editor is finally back
2022-05-07 02:49:56 -05:00
tildearrow
aea7bf2112 GUI: is the macro UI back yet 2022-05-06 23:52:26 -05:00
tildearrow
716ef56f03 GUI: macro UI refactor, part 1 - PLEASE READ
- DO NOT USE THIS VERSION! -

to @cam900 and @grauw: do NOT pull this commit yet! it will fail to compile!
2022-05-06 18:01:12 -05:00
tildearrow
81a77a633b GUI: remove classic macro view
after this, some changes to the macro view code will arrive
hopefully these will make the code much cleaner
(NORMAL_MACRO has too many arguments!)
2022-05-06 14:16:27 -05:00
Laurens Holst
3784c4e1d2 MultiPCM instrument type, editor and file ops. 2022-05-05 21:56:48 +02:00
tildearrow
99a313b684 GUI: implement instrument load replace 2022-05-04 22:55:11 -05:00
tildearrow
44f1134875 GUI: fix more issues
- macro range is now 128 (it was 127 before)
- fix #407
2022-05-04 18:42:36 -05:00
cam900
317c4b4f82 Prepare for transwave 2022-05-04 03:09:58 +09:00
cam900
8283d46e7d Disable reversed playback checkbox when using sample map
Clamp per-channel OSC output, Reduce warning
2022-05-02 21:19:10 +09:00
cam900
53a52788e2 Add per-note map reversed playback support
Prepare for pcm changed flag, 8 bit panning command
Reduce register spamming in volume update routine

Progress report:
* Emulation core update, Dispatch update:
  * Volume is unsigned like original chip, for reduce overflow.
* Add multi-mode macro support for radio button
2022-04-30 23:45:05 +09:00
cam900
72e8bb89a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: sample/macro zoom with ctrl-wheel
  GUI: prevent division by zero
  GUI: possibly fix an instrument saving issue
  GUI: add chip randomizer button
  update to-do list
  oops
  NES: add DMC write effect
  SoundUnit: implement panning
  QSound: implement panning macro - PLEASE READ
  further improve channel allocation
  update format.md for eventual ExtCh extra systems
  improvements to swap/stomp channel

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-30 02:32:55 +09:00
tildearrow
635bd72904 GUI: sample/macro zoom with ctrl-wheel 2022-04-29 05:39:18 -05:00
tildearrow
5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
cam900
cdb3a51766 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  implement channel swapping
  implement relative pitch macro mode
  prepare for relative pitch macro

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 23:30:50 +09:00
cam900
3956b2cd30 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev90 - linear pitch macro option
  dev89 - C64: add test/gate macro
  YMU759: update system definition
  more changes to autoNoteOn
  SoundUnit: ring modulation
  GUI: improve the maximize auto-detection a bit
  GUI: possibly remember maximized state
  NES: fix audio resolution being too low
  update to-do list
  SoundUnit: more stuff
  SoundUnit: max cutoff 16383
  effectRows -> effectCols
  GUI: rename Amiga/Sample to Sample
  This is not a sample properties table
  Define the compact wave editor
  Menu option, settings file

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 16:05:01 +09:00
tildearrow
d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow
4a9855f090 dev89 - C64: add test/gate macro
and "don't test/gate before new note" setting
2022-04-27 23:54:45 -05:00
tildearrow
dce862fdb9 SoundUnit: more stuff 2022-04-27 18:28:46 -05:00
tildearrow
410a509d73 SoundUnit: max cutoff 16383 2022-04-27 18:03:24 -05:00
tildearrow
9eaf600b4b GUI: rename Amiga/Sample to Sample 2022-04-27 17:44:00 -05:00
cam900
37216e323f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix MSVC oh my
  improvements to sysDef and UX changes

# Conflicts:
#	src/engine/dispatchContainer.cpp
#	src/gui/insEdit.cpp
2022-04-27 21:21:08 +09:00
tildearrow
78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
cam900
482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
cam900
97d2bddf1f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:54:11 +09:00
cam900
49a41ff862 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (77 commits)
  GUI: use pattern font for input latch
  GUI: partially implement note input latch UI
  GUI: transpose value does not transpose effect ID
  GUI: prepare for note input latch UI
  GUI: min ins selector width fix
  GUI: separate operation masks
  GUI: add missing FDS preset
  GUI: prepare for separate operation mask
  GUI: "none" instrument should not remove inscolumn
  GUI: fix ins 0 being inserted on blank song
  GUI: add a "none" option to instrument list
  update to-do list
  GUI: add "absorb" instrument input mode
  use good default instrument when adding ins
  better default instrument for OPL/OPLL
  GUI: fix selection being visible in dummy row area
  Further fix looped sample preview
  GUI: fix about screen in power saving mode
  VRC6: saw volume 63
  GUI: add an effect list window
  ...

# Conflicts:
#	src/engine/platform/amiga.cpp
#	src/engine/vgmOps.cpp
#	src/gui/dataList.cpp
#	src/gui/guiConst.cpp
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:04:23 +09:00
tildearrow
2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow
7b79c32258 increase range of arp macro to 120 2022-04-25 14:58:58 -05:00
tildearrow
7410622425 GUI: min ins selector width fix 2022-04-21 17:39:13 -05:00
cam900
29ea6dc360 Partially ES5506 support (not working yet!)
Add sample related enums
Add support for backward/pingpong loop, loop end position
Structize Notemap in sample instrument
2022-04-21 01:52:37 +09:00
tildearrow
a4ff0c3876 GUI: fix relative/fixed toggle label being wrong 2022-04-18 04:18:33 -05:00
tildearrow
fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
tildearrow
c9324e04bd GUI: vertical C64 envelope editor 2022-04-17 02:51:03 -05:00
tildearrow
768419f461 GUI: implement GB envelope view 2022-04-17 01:15:34 -05:00