Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 09 11:22

    emoon on dev

    Updated to latest vAmiga master Initial vAmiga running in debug… (compare)

  • Apr 08 16:58

    emoon on dev

    WIP on Amiga stuff (compare)

  • Apr 08 16:14

    emoon on dev

    Added custom request (compare)

  • Apr 05 15:39

    emoon on dev

    WIP On Amiga stuff (compare)

  • Apr 04 17:25

    emoon on dev

    More WIP (compare)

  • Apr 04 09:13

    emoon on dev

    More fixes (compare)

  • Apr 04 09:01

    emoon on dev

    More cleanup (compare)

  • Apr 02 13:36

    emoon on dev

    Tons of cleanup (compare)

  • Apr 02 06:58

    emoon on dev

    WIP on View plugins (compare)

  • Mar 04 11:46

    emoon on dev

    Some code cleanup WIP WIP (compare)

  • Feb 06 05:37

    emoon on dev

    rename master -> main (compare)

  • Feb 06 05:34

    emoon on dev

    Use old vamiga code that compil… (compare)

  • Feb 05 18:24

    emoon on dev

    Added start of new Amiga suppor… (compare)

  • Feb 05 17:14

    emoon on dev

    Removed old Amiga UAE backend (compare)

  • Feb 05 17:03

    emoon on dev

    Linux fixes (compare)

  • Feb 05 14:14

    emoon on dev

    Windows fixes (compare)

  • Feb 05 06:20

    emoon on master

    (compare)

  • Feb 05 06:20

    emoon on main

    (compare)

  • Jan 31 07:27

    emoon on dev

    macoOS fixes (compare)

  • Dec 29 2020 21:25

    emoon on dev

    Basic file viewer works (compare)

Daniel Collin
@emoon
One problem is that I need to heap alloc almost everything as everything is unsized. In practice I don’t think it will be a big issue though.
Jake Shadle
@Jake-Shadle
I think the API compatibility of opaque pointers is better, but yah, there is a tradeoff
Daniel Collin
@emoon
Talking about React. I know that React native is bulit on top of Qt for Linux.
Indeed
Jake Shadle
@Jake-Shadle
oh interesting, I didn't know that
I'm just using regular react via typescript
Daniel Collin
@emoon
Yeah I found it by accident when I looked around for Flexbox implementation for Qt
Jake Shadle
@Jake-Shadle
I think the concepts in it are translatable to a native UI though
but basically
Daniel Collin
@emoon
I haven’t really used it so I can’t tell. I think I should
Qt is quite flexible so it’s likely possible to stuff on top of it
Jake Shadle
@Jake-Shadle
data/state flows :arrow_down:
events flow :arrow_up:
and then at least for the web stuff, you just write HTML inside your code that can access the state/properties for the component you are and return it to "render"
Daniel Collin
@emoon
Right
Jake Shadle
@Jake-Shadle
and so each component is its own world
Daniel Collin
@emoon
I see
I guess I should try to get myself a bit more familiar with it.
Jake Shadle
@Jake-Shadle
it's a pretty cool way to do UIs
there's definitely a reason it's become so popular
Daniel Collin
@emoon
Yeah I heard about it for sure but never really looked at it
Jake Shadle
@Jake-Shadle
public render() {
        return (
            <div>
                <span>
                    <span><kbd></kbd><kbd></kbd> to navigate </span>
                    <span><kbd>Enter</kbd> to select </span>
                    <span><kbd>Esc</kbd> to dismiss</span>
                </span>
                <Semantic.Input
                    loading={this.state.isFetching}
                    fluid
                    onChange={ (eve, data) => this.onInputChanged(eve, data) }
                    ref={ (self) => {
                        this.inputRef = self;
                    }}
                    iconPosition="left"
                    error={this.state.failureMessage !== undefined}
                    placeholder={this.state.failureMessage}
                >
                    <Semantic.Icon name="terminal"/>
                    <input/>
                </Semantic.Input>
                <Semantic.Divider horizontal/>
                <CmdList
                    filteredCmdList={this.state.filteredCmds}
                    onCurCmdChanged={ (cmd, index) => this.setState({currentCmd: cmd}) }
                    onCmdSelected={ (cmd, index) => this.props.onCmdSelected(cmd) }
                />
            </div>
        );
    }
though maybe part of the reason I like it so much is how well typescript works in VSCode
export default class CmdSelector extends React.Component<ICmdSelectorProps, ICmdSelectorState> {
each component has typed properties and typed state
and autocomplete and error linting is done in realtime
Daniel Collin
@emoon
Right
Daniel Collin
@emoon
One of the horrors one gets to endure when digging around on internet for players of old formats is arcane C libs which uses globals all over the place :)
Jake Shadle
@Jake-Shadle
oh god yah
there's this one project that I've started like...3 times now?
which is flame3, a fractal renderer
it has the double whammy of
terrible C command line program to do the actual rendering (CPU, maybe GPU now)
but also, it had a GUI editor written in....Delphi
Daniel Collin
@emoon
Example: You call OpenVGMFile(…) and it returns an int if it failed or not. Now to use this data you use extern VGM_HEADER VGMHead;
Jake Shadle
@Jake-Shadle
but yes, it always tooke me like several days just to compile the C program
because dependencies are the fucking worst
Daniel Collin
@emoon
Yeah
Jake Shadle
@Jake-Shadle
oh wow, that's a special kind of terrible
Daniel Collin
@emoon
indeed
So the way the VGM format works is that it’s a stream of commands that you send to a specific sound chip. Meaning that the format can be used for several consoles/systems and remain the same. I think I will likely replace the VGM parser and clean up all this chip but still keep the C code for the actual emulation of of the sound chips which is the real tricky part.
Jake Shadle
@Jake-Shadle
ahh ok
so it works as its own abstraction layer essentially
Daniel Collin
@emoon
Indeed
Jake Shadle
@Jake-Shadle
nice
Daniel Collin
@emoon
Yeah it’s quite cleaver format really because you don’t need the host CPU of the system to play the music. You only need the commands that were actually sent to the sound chip.
But yeah.. replacing the parser with some nice Rust code would be good :)
Jake Shadle
@Jake-Shadle
sounds like it
Fabrice Robinet
@fabrobinet
Hi Daniel
just FYI, I have put a comment in here: https://gist.github.com/emoon/f4cc058dd2a23c6cb9bce16b2548339a as I can't get ProDBG to build, seems to be related to QT5...