Ryan C. Gordon
Ryan C. Gordon
  • 38
  • 133 724
SDL3 Camera API!
A quick little demonstration of the new SDL3 camera API!
This was just recorded on my laptop's camera and built-in microphone, which is why the sound is terrible and the video wobbles every time I put my elbows on the table. :)
This just landed in mainline SDL3! You can use this RIGHT NOW.
You can fund my ongoing work on SDL3 and other fun and useful projects!
Patreon: patreon.com/icculus
GitHub Sponsors: github.com/sponsors/icculus
Переглядів: 1 818

Відео

Introducing ControllerImage
Переглядів 2,9 тис.8 місяців тому
This is a project I'm working on. I know I said "Link in bio!" but you can find it here: github.com/icculus/ControllerImage I need artists! Hit me up! Want to support my work? I crowdfund: patreon.com/icculus or github.com/sponsors/icculus Images in this video: The Xbox button images are under a CC 4.0 license: creativecommons.org/licenses/by-sa/4.0/deed.en They were modified versions of the .s...
Writing a Simple Media Player with SDL, part 17: Winshade Mode
Переглядів 7479 місяців тому
Today we're powering through to implement Winshade mode! A whole media player that's 14 pixels tall!! Source code for today's efforts: github.com/icculus/sdlamp/blob/43eb0e0f948378ec36dea7bea7b799c240f8372b/sdlamp.c I get it poppin' in the club, everybody show me love, let's go: patreon.com/icculus or github.com/sponsors/icculus Sounds played today: The Living Proof, by Will Provost: ua-cam.com...
Writing a Simple Media Player with SDL, part 16: Titlebar Minimize and Close
Переглядів 4739 місяців тому
Just keeping it simple today. We fix a massive mistake from last time, and wire up the Minimize and Close buttons, so the window is like...usable and stuff. Source code for today's efforts: github.com/icculus/sdlamp/blob/debd2b4cea6613113d95e3e38c5ad48f217c16d8/sdlamp.c Want to be listed in the credits? There's an app for that! patreon.com/icculus or github.com/sponsors/icculus
Writing a Simple Media Player with SDL, part 15: The Titlebar and Hit Testing
Переглядів 6199 місяців тому
Ugh, it's actually been a year _and a half_. :/ Today we're getting an _actual_ WinAmp titlebar, and learning about a little-known feature of SDL called "hit testing," which lets your app do something kinda magical. Source code for today's efforts: github.com/icculus/sdlamp/blob/76eadbd56a666a2928d26c2b54fc43586e52e7c7/sdlamp.c Want to be listed in the credits? I've got a blank space, baby, and...
The SDL3 Audio Subsystem!
Переглядів 3,2 тис.Рік тому
Here's a quick rundown of the new SDL3 Audio Subsystem! Want you name in lights? Or at least in my UA-cam videos? patreon.com/icculus or github.com/sponsors/icculus Icons created by AlexAngry: linktr.ee/AlexDraw Sounds in this video: splash.wav: SPLASH.wav by petenice Original: freesound.org/s/9508/ License: creativecommons.org/publicdomain/zero/1.0/ spring.wav: Game Over Arcade.wav by myfox14 ...
Writing a Simple Media Player with SDL, part 14: Attack of the Middleware!
Переглядів 1,4 тис.2 роки тому
Today we're solving tons of problems with some external libraries, built as source along with the program. PhysicsFS is going to fix the issues with loading WinAmp skins, and SDL_sound is going to get us support for more than .WAV files. We'll also slot in a simple CMake project file, because this is no longer a single source file in composite, even if our work is still limited to sdlamp.c itse...
Writing a Simple Media Player with SDL, part 13: Zip File Wrangling
Переглядів 7192 роки тому
Today we're going to load WinAmp skins out of .zip files, to show that things you think of as binary blobs aren't always cryptic and scary! Source code for today's efforts: github.com/icculus/sdlamp/blob/d60cdeadde180915ca05036064b1f09a9c708f46/sdlamp.c Stop making me beg in the patrons.txt file: patreon.com/icculus or github.com/sponsors/icculus
Writing a Simple Media Player with SDL, part 12: Balance UI...and Balancing the UI.
Переглядів 7652 роки тому
Today we're going to hook up the balance slider and fix a bunch of stuff, sanding down a bunch of rough edges! Source code for today's efforts: github.com/icculus/sdlamp/blob/1355307a8082d869a505251eb63c256e408abd5a/sdlamp.c The new WinAmp skin we're using: archive.org/download/winampskin_Winamp_2_Classic/Winamp_2_Classic.wsz Go ahead and do me a solid: patreon.com/icculus or github.com/sponsor...
Writing a Simple Media Player with SDL, part 11: The Volume Slider
Переглядів 9762 роки тому
Despite being recorded on April 1st, this is no joke and we are no fools! Today we're going to hook up the volume slider in a nice clean way, making the app a little more WinAmpy. Source code for today's efforts: github.com/icculus/sdlamp/blob/61b1b1afe071526b42679ada49fa450432ac2ef5/sdlamp.c Your name could be at the end of this video, which totally will impress everyone at the next cocktail p...
Writing a Simple Media Player with SDL, part 10: The SDL Audio Callback
Переглядів 1,3 тис.2 роки тому
Today we're going to explore a more efficient way to feed audio to the hardware, as a first step to no longer using the CPU as your personal space heater. Source code for today's efforts: github.com/icculus/sdlamp/blob/08d28fafa0651416b3045d8d3a22c12074eb7d9d/sdlamp.c I AM TOTALLY RUNNING OUT OF ROOM ON THE PATRON CREDIT SCREEN AT THE END OF THE VIDEO. MAKE ME HAVE TO FIX MY PERL SCRIPT TO DEAL...
Writing a Simple Media Player with SDL, part 9: The Great Refactor
Переглядів 1 тис.2 роки тому
This is a long video where we do a lot of heavy lifting and cleanup. It's (hopefully) satisfying by the end, though! Source code for today's efforts: github.com/icculus/sdlamp/blob/27073c4e9e096f386ebbe966975656690dd6cef4/sdlamp.c Hoping that you can force me to edit the video credits script to deal with more names than I can fit on a single screen? patreon.com/icculus or github.com/sponsors/ic...
Writing a Simple Media Player with SDL, part 8: WinAmp Skins
Переглядів 1,6 тис.2 роки тому
Things are getting serious now: we're putting an actual user interface in place! With pretty graphics! Source code for today's efforts: github.com/icculus/sdlamp/blob/aeb8bb20b1e605a9523709549edfea9249891f12/sdlamp.c Like these videos? Wish YOUR name was in the end credits? patreon.com/icculus or github.com/sponsors/icculus The Living Proof, by Will Provost: ua-cam.com/video/hqLYAY6hHe8/v-deo.html
Writing a Simple Media Player with SDL, part 7: How Computer Audio Works
Переглядів 9962 роки тому
We're taking a 10-minute detour today to explain _how_ a computer processes audio data, since it's important and I just sort of glossed over it until now. First, though, we fix some bugs. Source code for today's efforts: github.com/icculus/sdlamp/blob/12eda3ca73f1e49a2106be6586f001552256a0c2/sdlamp.c Learn something new? Throw a dollar (or 20) in the tip jar: patreon.com/icculus or github.com/s...
Writing a Simple Media Player with SDL, part 6: Balance controls
Переглядів 8742 роки тому
We hook up a balance slider and a stop button! We're going to make this less ugly soon, I promise. Source code for today's efforts: github.com/icculus/sdlamp/blob/394962fa8d6927c9912c5fa15a635cb295175da0/sdlamp.c Throw all the moneys at patreon.com/icculus or github.com/sponsors/icculus
Writing a Simple Media Player with SDL, part 5: Volume Control
Переглядів 1,4 тис.2 роки тому
Writing a Simple Media Player with SDL, part 5: Volume Control
Writing a Simple Media Player with SDL, part 4: Audio streams
Переглядів 1,6 тис.2 роки тому
Writing a Simple Media Player with SDL, part 4: Audio streams
Writing a Simple Media Player with SDL, part 3: Draggin' and Droppin'
Переглядів 1,3 тис.2 роки тому
Writing a Simple Media Player with SDL, part 3: Draggin' and Droppin'
Writing a Simple Media Player with SDL, part 2: Green Window and Two Push Buttons
Переглядів 3,3 тис.2 роки тому
Writing a Simple Media Player with SDL, part 2: Green Window and Two Push Buttons
Writing a simple media player with SDL, part 1.
Переглядів 5 тис.2 роки тому
Writing a simple media player with SDL, part 1.
DragonRuby VR
Переглядів 3,3 тис.2 роки тому
DragonRuby VR
DragonRuby Renderstreams
Переглядів 1,5 тис.2 роки тому
DragonRuby Renderstreams
Let's make Tetris with DragonRuby Game Toolkit! (Part 2)
Переглядів 4,1 тис.4 роки тому
Let's make Tetris with DragonRuby Game Toolkit! (Part 2)
Let's make Tetris with DragonRuby Game Toolkit! (Part 1)
Переглядів 16 тис.4 роки тому
Let's make Tetris with DragonRuby Game Toolkit! (Part 1)
DragonRuby Controller Configuration
Переглядів 6265 років тому
DragonRuby Controller Configuration
Introducing alTrace
Переглядів 5775 років тому
Introducing alTrace
DragonRuby Game Toolkit: The Console!
Переглядів 9045 років тому
DragonRuby Game Toolkit: The Console!
DragonRuby replays
Переглядів 7365 років тому
DragonRuby replays
DragonRuby running on a Raspberry Pi
Переглядів 1,1 тис.5 років тому
DragonRuby running on a Raspberry Pi
Flappy Dragon, built with DragonRuby Game Toolkit
Переглядів 2,5 тис.5 років тому
Flappy Dragon, built with DragonRuby Game Toolkit

КОМЕНТАРІ

  • @AcceleratingUniverse
    @AcceleratingUniverse Місяць тому

    The fact that the lead programmer of SDL doesn't have any of the API memorized really puts into perspective how much time I wasted trying to memorize lazyfoo tutorials line by line when I was 13

  • @reenko
    @reenko Місяць тому

    Learned a lot, thx for sharing BRAVO!

  • @mohdhamzaghyas4328
    @mohdhamzaghyas4328 2 місяці тому

    thanks

  • @patty1991
    @patty1991 3 місяці тому

    I dont know why but ... i hate sdl3 -> its sdl2 but with a function lib that pop up if you code an function

  • @Luis-jl6oh
    @Luis-jl6oh 4 місяці тому

    I feel it was yesterday that SDL 2 released and me and my brother watched you on the Steam panel. I was always curios about checking SDL, and with 3 open for preview, I feel the future is now.

  • @spjewkes
    @spjewkes 4 місяці тому

    Thank you for this. A great tutorial. Nice, short and clear.

  • @michaellong8812
    @michaellong8812 6 місяців тому

    SDL3 marks the start of a new generation of game development with new and current developers. This is huge!

  • @Quash0r
    @Quash0r 6 місяців тому

    Thanks for your outstanding and persistent work throughout the years Ryan!

  • @RondoDondo
    @RondoDondo 6 місяців тому

    You’re a handsome fellow Ryan 😊

  • @supper_cruiser
    @supper_cruiser 6 місяців тому

    Holy shit, EyeToy, now that's something I didn't think about in a long time

  • @LightGameFrameworks
    @LightGameFrameworks 6 місяців тому

    Very interesting, this video is almost like a lore-drop. Thank you.

  • @wizofssp
    @wizofssp 6 місяців тому

    Fucking awesome, thanks to Ryan and the other SDL people. I am so happy to take a deep dive into SDL3, seeing how it works, how the CMake stuff works, HDR and and and ...

  • @MichaelZijlstra
    @MichaelZijlstra 6 місяців тому

    Very Excited for SDL3!

  • @j-monteiro
    @j-monteiro 6 місяців тому

    So cool!!

  • @blogdron
    @blogdron 6 місяців тому

    Awesome icculus ::) You look so happy. It’s like you wrote first program and it works 🤭. This is probably the most valuable thing in development. Thank you.

  • @teknicker2487
    @teknicker2487 6 місяців тому

    SDL3 hype !!

  • @JamesStocks
    @JamesStocks 6 місяців тому

    Hello!

  • @DaVince21
    @DaVince21 6 місяців тому

    I love that Linux support is just such a given that it took you a moment to realize you didn't even mention it! 😄 Anyway, this is nice!

    • @RyanGordon
      @RyanGordon 6 місяців тому

      I used to work almost exclusively on a Macbook until I had to do Linux-specific work. In recent years, this trend has _completely_ reversed, and I am not unhappy about this in the least.

  • @igormamedes
    @igormamedes 6 місяців тому

    congrats ryan, very good work

  • @ewomer100
    @ewomer100 6 місяців тому

    Wow, congratulations.

  • @ErikYuzwa
    @ErikYuzwa 6 місяців тому

    so much hype for SDL3! Thanks for the hard work over 18 years to get bug #4 shipped!

  • @addiment
    @addiment 6 місяців тому

    I didn't realize how much I needed this!!! hyped for SDL3 !

  • @erc0re526
    @erc0re526 6 місяців тому

    That's so cool!! Thank you so much for all the work.

  • @kotrin
    @kotrin 6 місяців тому

    rad

  • @gnatinator
    @gnatinator 6 місяців тому

    Thank you Ryan !!!

  • @_iao_
    @_iao_ 6 місяців тому

    nice, i can imagine doing some livestream-related stuff with this. super excited for SDL3 as a whole!

  • @youtubesuresuckscock
    @youtubesuresuckscock 6 місяців тому

    The real goal should be to make games with intuitive controls that don't need to blast your eyeballs with icons constantly. That Spiderman game for example is just a visual mess. If a game has to remind you how to do things constantly, it already failed. No one needed to be slapped in the face with icons constantly while playing Street Fighter 2 or Doom. Why do we need it now? This is a game development failure and nothing else.

  • @homeopathicfossil-fuels4789
    @homeopathicfossil-fuels4789 7 місяців тому

    Computer science classes teach you a lot of idiotic things and frequently neglect actually useful things, I am self taught, worked with a comp sci phd once and he couldnt even understand basic concepts of addressing memory, or count in hexadecimal.

  • @rebane2001
    @rebane2001 8 місяців тому

    This is pretty much what Steam's library does too I think

    • @RyanGordon
      @RyanGordon 8 місяців тому

      It does something similar, but I want to go deeper and try to support really obscure controllers, and of course work even when not shipping on Steam.

  • @MrTimcakes
    @MrTimcakes 8 місяців тому

    I wish this could be injected into existing games. Because in sim racing, all my wheel buttons appear in-game as "1", "2" "7" etc... I can't remember what does what with 3 different steeringwheels 😭

  • @AL2009man
    @AL2009man 8 місяців тому

    I'm surprised this hasn't been done much sooner.

  • @3cc3n
    @3cc3n 8 місяців тому

    This is great! Note that some companies have TRCs regarding how their gamepad and/or button images can look in a game running on their system. If you manage to conscript an artist or two to your cause, be sure to look those up so your library is compliant.

  • @arjix8738
    @arjix8738 8 місяців тому

    A guy named Xelu, with the UA-cam Channel "Mental Checkpoint" has made an asset pack with controller buttons and controllers themselves free on the public domain. All you need is to put him in the credits, and voila, you got the buttons. Asset pack name: "Xelu's free controller prompts" He also has a video about it, "Why I'm Credited In Over 100 Games (not even joking)"

  • @rafaelbordoni516
    @rafaelbordoni516 8 місяців тому

    Pretty good! You should add support for people to give their own SVGs to show up and leave these as default/fallback ones, this way we can better blend them into our UIs.

  • @AacatNet
    @AacatNet 8 місяців тому

    I would love to see something like this integrated into the Godot engine 😳 it would be such a… game changer

  • @StiekemeHenk
    @StiekemeHenk 8 місяців тому

    I'm still waiting for someone to figure out how to translate multiple Stadia controllers to Xbox. It's such a hassle to run Stadiacontroller multiple times and one by one hiding the controllers. I just wanna play with the kids bruh.

  • @nuclearmonster
    @nuclearmonster 8 місяців тому

    Hell yeah!!!

  • @agentseed
    @agentseed 8 місяців тому

    Excellent video!

  • @blackstar_1069
    @blackstar_1069 8 місяців тому

    it would be awesome to have a video bout the instalation on a few games to know how to do it properly :)

  • @ShockSlayer
    @ShockSlayer 8 місяців тому

    This is _excellent._ Support for SVGs is ideal and will make adding support for many controllers trivial.

  • @ianmaclarty9972
    @ianmaclarty9972 8 місяців тому

    Looks handy! It would be nice if there were also a function that just returned an enum value so I could decide what to render and how to render it.

    • @RyanGordon
      @RyanGordon 6 місяців тому

      (sorry, missed this comment before) More or less, SDL3 already offers that, fwiw: wiki.libsdl.org/SDL3/SDL_GetGamepadType ... that will return an enum: Xbox, PS3, PS4, PS5, Switch, etc...this library is intended to go further than any function reasonably could, picking up obscure controllers that don't map cleaning to major console controllers' symbols.

  • @rikamayhem
    @rikamayhem 8 місяців тому

    Not the first attempt I see, so I've got two concerns: 1. How will the icons match the game's UI? (e.g. Realistic and flat variants? Pressed and released variants?) And 2. Who keeps the library updated? Database-like libraries like this one are most valuable when updates are decoupled from the game releases. (The same goes for SDL's controller db, the TZ db, terminfo, etc.)

  • @jessechounard
    @jessechounard 8 місяців тому

    Library sounds great! It took me a second to figure out why an xbox shaped controller with playstation buttons glyphs felt weird. :)

  • @tessiof
    @tessiof 8 місяців тому

    Why didn't you use the N64 controller as the base image?

  • @eukara
    @eukara 8 місяців тому

    I was working on something similar recently for my SDK! There's 'Xelu's Free Controller Prompts', which are CC0. They have a ton of artwork, including for portable systems, since your readme is asking for more artwork And yes, this project tackles an inconvenient problem that your touch can help solve :D

  • @sirmongoose
    @sirmongoose 8 місяців тому

    Cool!

  • @inthegaps
    @inthegaps 9 місяців тому

    very exciting!!!

  • @MichaelZijlstra
    @MichaelZijlstra 9 місяців тому

    Considering how much was done I would still consider this a quick video. Great to see the windowshade mode working!

  • @MichaelZijlstra
    @MichaelZijlstra 9 місяців тому

    Great to see this next installment come in so quickly