Commit graph

4866 commits

Author SHA1 Message Date
tildearrow
1a113a4d52 giga-refactor, part 15
dynamic PCM DAC
2025-11-17 21:09:43 -05:00
tildearrow
9b35ca77c5 giga-refactor, part 14 - READ
a new way to define chip channels has been introduced, replacing the old one.
it looks cleaner and is more flexible (even supporting dynamic channel count).

it works by defining a function in the chip definition, which returns a DivChanDef with channel information (name, short name, type and instrument type(s)).
alternatively, a list can be provided in the DivChanDefFunc() constructor, in the event channels differ greatly and/or the number of channels is small.

some helper templates, such as stockChanDef and simpleChanDef also exist, which automatically map channel names and types regardless of count.
2025-11-17 19:38:45 -05:00
tildearrow
f6d0979209 don't allow chip channel count to be set to 0 2025-11-16 17:05:43 -05:00
tildearrow
663f32d9d4 giga-refactor, part 13
get rid of time base
2025-11-16 15:45:24 -05:00
tildearrow
334d8708e2 giga-refactor, part 12
loading works
2025-11-16 07:13:30 -05:00
tildearrow
94044ef210 giga-refactor, part 1
work on loading - NOT WORKING
2025-11-16 05:42:47 -05:00
tildearrow
dc0eda0445 giga-refactor, part 10
fix saving
2025-11-16 02:59:02 -05:00
tildearrow
90a9a86e09 giga-refactor, part 9
new format saving
compatibility flags now part of own struct
2025-11-16 01:41:17 -05:00
tildearrow
7bb770ad01 giga-refactor, part 7 2025-11-15 05:09:11 -05:00
tildearrow
a1bca68e4a asgfdlhjkashdjfl 2025-11-15 03:00:40 -05:00
tildearrow
7b11fe68ad giga-refactor, part 6
make engine dispatchChanOfChan-aware
2025-11-13 16:33:35 -05:00
tildearrow
5bde25cf2f giga-refactor, part 5 2025-11-13 01:39:21 -05:00
tildearrow
68768004b0 giga-refactor, part 4
add minimum and maximum channel count properties to DivSysDef
2025-11-12 16:41:51 -05:00
tildearrow
2cae7aaf9a giga-refactor, part 3
make use of systemChans
2025-11-12 06:05:36 -05:00
tildearrow
9a5de4fc22 fix system alteration functions 2025-11-12 05:14:31 -05:00
tildearrow
db419dc6c8 giga-refactor, part 2 2025-11-12 05:06:51 -05:00
tildearrow
a654d33df2 giga-refactor, part 1 2025-11-12 00:39:28 -05:00
tildearrow
2f25acd017 move asset dir functions to another file
and get them out of the engine
2025-11-11 18:33:23 -05:00
tildearrow
2ff3def8f8 rely on song.systemChans 2025-11-11 05:31:06 -05:00
tildearrow
19140fb367 Merge branch 'master' into inf2 2025-11-11 03:48:39 -05:00
tildearrow
7f9baedc89 YM2612: fix inVol taking effect unnecessarily
thanks Slightly Large NC!
2025-11-11 03:47:34 -05:00
tildearrow
20dab0b08b prepare stuff 2025-11-11 02:53:58 -05:00
tildearrow
92ad27f87e command stream preset instruments/volumes 2025-11-10 18:27:45 -05:00
tildearrow
b8db5b4a1a dev239 - Merge branch 'noLegacySample' 2025-11-10 04:44:00 -05:00
tildearrow
55c3966eda total extinction of legacy sample mode, part 10
it's ready! you must merge, now!
2025-11-10 04:43:45 -05:00
tildearrow
9e8c97cc6f heuristic for song length determination
song length calculation of lorge.fur now takes 18ms (from ~1 hour)
2025-11-09 20:42:38 -05:00
tildearrow
edb1395058 total extinction of legacy sample mode, part 9
fix .dmf export a bit
2025-11-09 19:40:04 -05:00
tildearrow
9e41e509a0 total extinction of legacy sample mode, part 8
fix conversion memory leak
add reverse conversion for .dmf export
2025-11-09 19:22:49 -05:00
tildearrow
69ae4f56bd total extinction of legacy sample mode, part 7
finish the conversion method
2025-11-09 17:47:37 -05:00
tildearrow
0ac7106e0e total extinction of legacy sample mode, part 6
almost there
2025-11-09 15:04:16 -05:00
tildearrow
0f5455831a total extinction of legacy sample mode, part 5
partially working converter
2025-11-09 05:23:32 -05:00
tildearrow
734f36b483 what the hell 2025-11-09 01:56:36 -05:00
tildearrow
f45bb97318 total extinction of legacy sample mode, part 4
prepare the conversion code...
2025-11-08 20:15:40 -05:00
tildearrow
183526cdbd total extinction of legacy sample mode, part 3
remove all the code which handles legacy sample mode
next up is a conversion strategy
2025-11-08 20:05:52 -05:00
tildearrow
aa8054754c Merge branch 'master' into noLegacySample 2025-11-08 18:53:42 -05:00
tildearrow
684d041dbb SN: mega-optimization 2025-11-08 18:30:48 -05:00
tildearrow
4525e05ec1 fix instrument saving 2025-11-08 18:14:08 -05:00
tildearrow
4b1605f2c2 horrible build failure 2025-11-08 16:11:03 -05:00
tildearrow
0602a2f811 total extinction of legacy sample mode, part 2
remove legacy sample bank completely
2025-11-08 15:17:56 -05:00
tildearrow
416148bd62 total extinction of legacy sample mode, part 1 2025-11-08 14:37:51 -05:00
tildearrow
9992660708 prepare for nuking legacy sample mode 2025-11-07 19:18:56 -05:00
tildearrow
8791ab0f65 Virtual Boy: fix last_output not being reset 2025-11-06 03:39:08 -05:00
tildearrow
27a1869775 PCE: fix blip_prev_samp not resetting 2025-11-06 03:34:43 -05:00
tildearrow
51b27746ab actually fix it 2025-11-04 03:26:51 -05:00
tildearrow
83ba6f8d0a VGM export: fix VRC7 export
why is this UNDOCUMENTED AGAIN...
2025-11-03 18:33:28 -05:00
tildearrow
872eeff9f1 OPL: fix some OPL3 chan osc bugs
- 4-op muting being broken
- output channel inconsistencies between Nuked-OPL3 and ymfm

thanks Forte!
2025-11-03 03:30:23 -05:00
tildearrow
deee0f816c file player: fix output rate changes 2025-11-01 12:18:11 -05:00
tildearrow
465328c952 GUI: set order to free pattern on middle-click 2025-10-31 20:12:37 -05:00
tildearrow
5b145b7121 multiple instrument playback, part 1
not implemented for MIDI yet
2025-10-31 19:36:13 -05:00
tildearrow
08a27be76f GUI: chord input
looks like a horrid hack, but it works
I'll improve some of the code at some point
2025-10-31 05:03:58 -05:00