Hacker Newsnew | past | comments | ask | show | jobs | submit | valty's commentslogin

What I really need is a software bass/treble control that can be mapped to keyboard shortcut.


While this is certainly possible to hack together using LADSPA [1] plugins it may be easiest to use something like e.g. Easy Effects [2], configure some sound profiles - 'music', 'voice', 'video', '...' - and configure some key combinations to load these on demand using easyeffects -l <preset>. As to how to bind these keys depends on your operating environment, this is how it could look in e.g. Xmonad (which is what I use):

   newKeys conf@(XConfig {XMonad.modMask = modm}) = [
     ((modm .|. shiftMask, xK_m), spawn "easyeffects -l music"),
     ((modm .|. shiftMask, xK_v), spawn "easyeffects -l video")
      ]
In this (contrived) example you'd press SHIFT-L_ALT-m to enable the 'music' profile, SHIFT-L_ALT-v for the 'video' profile.

You can also make a script which cycles through available plugins and bind that to a key, showing which plugin is activated when the key is pressed. There are many ways which lead to this version of Rome, choose the one you like best.

If you're using Gnome there is an extension which does most of the work:

https://github.com/wwmm/easyeffects/wiki/Preset-Selector-GNO...

(quote) It basicly adds a button to your top panel. Then you can click on it to see your available presets and click one to activate it without opening EasyEffects window. It also adds keyboard shortcuts to cycle through available input and output presets. Those can be set from extensions preferences window. Default keybindings are Ctrl + Super + o for output and Ctrl + Super + i for input presets.

[1] http://www.ladspa.org/

[2] https://github.com/wwmm/easyeffects



And which one has a keyboard shortcut for bass/treble smarty pants?


Depends, which OS are you on? The first search result (eqMac [1]) says it supports Hotkeys. Hopefully you can find one that meets your reqs!

--

1: https://github.com/bitgapp/eqMac


> "says"

I had of course already checked and it does not. https://github.com/bitgapp/eqMac/issues/380

So please remind me of why your condescending comment was necessary?


VoiceMeeter and it's macro buttons can do that.


This line of thinking led me to think: global variables should be, rather, considered good!

Plain text is the problem. We write code so it can be easily read as plain text. Not as living, breathing, running code.

Globals are considered bad because they are hard to trace and reason about. But this is only so with plain text. You cannot click on a variable and see all it's dependencies. We must painstakingly trace these.

If we visualized the dependencies and the flow of our code, we could see the complexity as we go. And the "context" becomes automatic. There is no difference between explicit and implicit context.

The key for globals, is to have one large graph data structure where everything is related. All your data is modeled the same. No mini-databases spread out over the code. No ad-hoc indexes strewn throughout. No modularity. One single giant data model.


I'm very sympathetic to this idea. The challenge becomes the UX and accessibility of browsing this one single giant data model.

I like global variables as well. One awesome thing they enable is custom debug UIs:

http://akkartik.name/post/2023-10-31-devlog

http://akkartik.name/post/2023-11-04-devlog


Wow 55K GitHub stars. This is like some record.


Good point. I would prefer to write in HTML/JS. Vanilla JS is probably the way to go.

I think modern frameworks are so bad at perf because they assume people just have so much compute available and are focusing on one app at a time.


When I said "stack/strategy", the _strategy_ part implied this build-for-each-platform approach.

The question still remains then of which to use for each platform.

On macOS there is Cocoa (Swift or ObjC(++) or pure CPP) and Swift UI.

On Windows there is .NET C# or CPP and a bunch of other stuff.

Any thoughts?


Andy Brice, UK, has quite a successful product, PerfectTablePlan, written in C++ and Qt, and deployed on Windows and Mac, IIRC. His blog, successfulsoftware.net has some posts about why he chose it, and many other interesting posts about the desktop app product business, both the tech and marketing sides.

He also has guest posts sometimes about/by other successful desktop software product creators. One of them was about Beyond Compare, a GUI file comparison tool, written in Delphi, IIRC.

I have read many of his blog posts, and they are quite interesting and informative.


For macOS, native historically (OS X onwards) means Cocoa and Objective-C. Swift and Swift UI are the new kids on the block. I haven't dabbled with them much, but my two cents is Swift is a lot more complicated than Obj-C and Swift UI is less mature than Cocoa. But as I said, that's just my two cents. Your mileage may very.

For Windows, Microsoft has a history of releasing a new UI technology and then deprecating it. Their latest toolkit is WinUI 3. Given Microsofts dedication to backwards compatibility I think you could pick any of their toolkits, even the WinAPI. I should mention that WinUI 3 is an oddball because Microsoft is not shipping it with the OS, but rather vendors (you) must ship the toolkit with your app.

For Linux, the two most popular UI toolkits are GTK and Qt. But in truth Linux is just a kernel and it is the distro that decides what toolkit is "native". Maybe consider which distro(s) you'll target rather than treating Linux as a monolith.


For Mac, I'm not super in touch, but I get the impression Apple is all in on Swift UI, and their developer support model is clear: use old tech at your peril, it may not be supported in the next version. So I would use Swift UI.

For Windows, I think it goes the other way. Microsoft is always coming around with a new UI model that's half-ass and will be dead next year. Use the old ways: MFC will never die.


Apple Nuke their entire developer ecosystem from orbit every few years. Using a cross-platform UI like Qt insulates you from this to an extent. But the downside is that you never get it to look quite 100% native and you may not have easy access to the latest bells and whistles from Apple.

Microsoft can't seem to make up their mind on what UI platform people should be using. It's a mess. But they generally do support old platform, unlike Apple. I gag at thought of writing MFC code in 2024. But each to their own.


>I gag at thought of writing MFC code in 2024.

In any year. Could never grok it, when it was newish, what with its crazy opaque AFX macros, although I could somewhat easily understand Win 32 C programming (Petzold book etc.), even though that was lower level, and I was new to event-driven GUI programming then.


The Win32 API is also seriously ugly. All those struct parameters, mostly full of zeros, and the hungarian notation. I know it is something from an earlier time and can't be changed without breaking everything, but it was hideous even by the standards of the day.


Yes, it was. Delphi, a few years later, was a lot better ...


I've heard a lot of horror stories with Swift UI.

I think it's crazy that it's closed source too. It's a big black box which makes debugging hard. Plus its the kind of framework that does a lot of magic stuff where you scratch your head wondering what is going on.


I wouldn’t say I’ve had horror stories just minor gripes and frustrations. You can mix and match AppKit and UIKit with SwiftUI. So there is always an escape hatch.

SwiftUI is insanely productive when it comes to building mostly simple list and form applications.

I highly recommend that you try it, you can always build a component or large sections using UIKit if you run into issues.

At Ditto almost all of our enterprise customers use SwiftUI over UIKit because SwiftUI is so productive for the vast majority of use cases. Does it have parity with UIKit? No… but it’s never been a dealbreaker for us.


Yeh horror story was probably too strong a word. I need to try it.


I've not tried wxWidgets (C++), but I've written a few small GUI apps in wxPython. It is good. Only built them on Windows, though.

Qt is to PyQt and PySide as wxWidgets is to wxPython, roughly.

Check FLTK (Fast Light Tool Kit) too (C++).


Apple should really be investing in their own stuff here.


Subscription tiers for national defense is funny to think about.

Priority assistance / 24/7 support / merch


Schooling is a tricky one for the free market, and it ultimately gets a bit morally dubious.

I guess you are trying to sell the benefit of a highly-educated country to those who choose private schooling, and getting them to pay for this.

It boils down to how much are you willing to pay for another child's education and what is the acceptable standard of that education.

But if we think about the supply of education, a lot of it is about good teachers, and ultimately someone has to be stuck with the worst teacher in the country. And also class sizes.


I'm interested to dive into this healthcare topic a bit deeper.

To find out what a true free market of healthcare looks like.

Often you find that government intervention distorts markets.

---

...and this looks like the case.

For example, people complain that benefits are tied to employers. But this was caused by the government capping wage increases to combat inflation in 1942, which resulted in companies offering pre-tax health benefits.

This looks like it is changing as people are like: wtf this makes no sense and creates so many bad incentives.

It looks like market forces will fix the system in the end, maybe it just takes 50 years or so.


> Maybe I try organizing online, which probably goes nowhere...Very few people have the time, energy, or resources

The thing is...a sector of companies that do this is probably a good business opportunity that is being crowded out by a mandatory government monopoly.

The fact that government does this means that you are already paying for it, and maybe its not being done well.

If people care about their food, they should look for a sticker on their food, from an organization that verifies it. If other people don't have the label, and people know about it, then people won't buy from them.

And if this is too much trouble, then have another industry above this where companies offer all-encompassing ratings on a variety of different things.

With modern technology so much is possible to solve problems that otherwise were too complicated.

You could end up with a marketplace of super apps, that ensure you are completely covered across all avenues of life to the parameters that you desire.

It sounds complicated, but today its even more complicated with government where we rely on the media mostly.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: