Skip Navigation
SimpMusic - a awesome music app
  • Maybe, maybe not... The dev could just be busy with life right now. The last build was released early September and the last commit was just over 3 months ago so IDK, I suppose we'll see. I also love InnerTune and would love to see it continue to grow.

  • SimpMusic - a awesome music app
  • I've been using this on and off for a while, since v1.3 in September (and swapping with InnerTune which seems to now be abandoned..) but I have a few glaring issues with it as a daily driver.

    Downloads are a mess. Tap download and it may or may not download. The download notification frequently becomes persistent for some reason, even if the downloads have finished and you kill/restart the app. Restarting my phone will get rid of it. Accessing auto cached songs is hit and miss if you don't have internet which completely defeats the point of it. Also there's no download management so whatever you download is now what you have saved unless you delete the library and start over...

    The library page is ass. There's no breakdowns by song or artist or album or any other category. You have favorites, followed, most played, and downloaded along with a bunch of playlists under that and finally a recently added list. If I want to shuffle my library I go to downloaded (because I download everything) and just tap a song which will start playing but take the UI ~10 seconds to catch up while, I'm assuming, it builds the playlist.

    When I connect to a bluetooth device and my screen turns off I immediately lose the bluetooth connection. Turn the screen back on, reconnect, start playing the music again and it works fine after that. This only happens with SimpMusic. Occasionally have had issues connecting to bluetooth and the app says it's playing via bluetooth but when you change the volume it says it's playing via phone while no audio is coming out anywhere. This is usually paired with a "something unexpected happened" error message and app restart (have had this issue loop before for hours, phone restart fixed it).

    The music player notification stops working regularly and just won't come back until I restart the phone.

    Intense lag after listening for a while.

    No dislike button to help avoid songs.

    And maybe my last complaint which is relatively minor to the other things, but under some categories, like new releases, it will show the art, the name of the album/single and then say "Album" instead of the artist which probably annoys me more than it should and may be a result of the other issues adding up.

    No, my last complaint is the copying of Spotify's horrible UI, but somehow it's even worse.

    On the upside, sponsorblock works well, my YTM playlists are all accessible, even ones I forgot existed from the GPM days, and the app does work for the most part. Long listening sessions work better than Innertune or Vimusic did. Hoping to see this continue to be worked on and improved, it still has a long way to go though.

  • Semi-Portable Engineering Rig
  • Got curious and looked it up. 2x64GB DDR5 kits exist though it looks like they're all ECC (probably a good thing in OPs use case). The cheapest kits, which are 4800Mhz CL40 sticks, start around $500 after tax.

  • Where do I meet girls?
  • I know how much we hate Reddit here but I've had great success with meeting people through local area subreddits. Many will have a monthly meetup and you can just go hang out and meet people in a low pressure environment. Then as people get to know each other smaller groups can form. Some also have Discords which can be a nice way to ease into the group before getting out there in person.

  • Need help with my husbands pc
  • Like the others said, double check your connections. It's easy to accidentally not plug something in all the way. Also, an extra preinstalled standoff wouldn't be out of the question and I have had that happen, would be worth checking out as well. You didn't mention what power supply you are using. New/used? Older used? Can you test the power supply on another computer to help rule that out?

  • How can I make (east) asian food healthy?
  • Duck sauce is a name that was adapted in American Chinese cooking. The original product, which is used in Asia (particularly known with Canto food), is plum sauce. Same thing, though you may get a slightly different product depending on where it was made.

  • French Onion Mac and Cheese
  • Using reader mode usually makes these accessible or if you like saving recipes, the app Paprika works well on many sites. Even ones that won't automate the download (like this particular one) make it easy to copy by section into the app.

    French Onion Macaroni and Cheese Recipe By Ali Slagle

    Total Time: 1 hour

    This outrageously good macaroni and cheese fuses two classic comfort foods into one dish. Caramelizing onions can be a time-consuming affair, but here, the process is sped up by using high heat and and a little water to prevent scorching. The sauce is made with a combination of Gruyère, to remind you of French onion soup, and white Cheddar, to make it melty and smooth. Instead of topping the dish with a dusting of diminutive bread crumbs, it’s dotted with Gruyère toasts that become melty and crisp after a few minutes under the broiler. (You’ll want to slide a sheet pan underneath before baking, in case some of the sauce bubbles over.) This is over-the-top richness at its best.

    Learn: How to Make Mac and Cheese Ingredients

    Yield:6 to 8 servings

    Kosher salt
    4 tablespoons unsalted butter, plus more for greasing the pan
    2 pounds yellow or Vidalia onions, peeled, halved and thinly sliced
    5 sprigs fresh thyme, plus more thyme leaves for garnish
    1 fresh or dried bay leaf (optional)
    Black pepper
    1 pound cavatappi or elbow pasta
    1 baguette, cut into ½-inch slices
    1 garlic clove
    2 tablespoons sherry vinegar, red wine vinegar or white wine vinegar
    3 tablespoons all-purpose flour
    4 cups whole milk
    16 ounces Gruyère, grated (about 5 cups)
    12 ounces white Cheddar, grated (about 4 cups)

    Preparation

    1. Bring a large pot of salted water to a boil. (If you’re planning to bake the macaroni and cheese in a baking dish instead of a skillet, butter 9-by-13-inch baking dish or other 3-quart casserole.)

    2. Meanwhile, in a deep, large (12-inch) ovenproof skillet, melt 2 tablespoons butter over medium-high heat. Add the onions, thyme sprigs and bay leaf, if using, and season with salt and pepper. Cover with a lid, baking sheet or foil and cook, stirring once or twice, until the onions are softened, 3 to 5 minutes.

    3. Uncover and continue to cook on medium-high, stirring occasionally, until deep golden brown, 20 to 25 minutes. If the onions look dry, add a few tablespoons of water at a time to prevent them from burning, scraping up any browned bits that are stuck to the bottom of the skillet. (You will need to do this several times.)

    4. While the onions are cooking, heat the oven to 450 degrees. Cook the pasta in the boiling water until 2 minutes shy of al dente; drain and set aside. Rub one side of each baguette slice with garlic.

    5. When the onions are a deep golden brown, discard the thyme sprigs and bay leaf and deglaze the skillet with the vinegar until evaporated, scraping up browned bits as you go, about 30 seconds. Add the remaining 2 tablespoons butter. When melted, add the flour and cook, stirring, until the flour begins to stick to the bottom of the pan and has turned a light golden brown, about 3 minutes. Slowly whisk in the milk and season with salt and pepper. Bring to a simmer, whisking often.

    6. Reserve 1 cup of the Gruyère. Carefully add the remaining Gruyère and all the Cheddar to the caramelized onion mixture and carefully stir until melted. If your pan is big enough, add the cooked pasta and stir to combine, or combine the sauce and pasta in the prepared dish.

    7. Spread the pasta mixture in an even layer in the prepared dish, then top with the baguette slices, garlic-side up. Sprinkle the toasts with the reserved 1 cup Gruyère and season with pepper. Place the skillet or dish on a sheet pan and bake until bubbly and brown in spots, 10 to 15 minutes. If you like a crispier top, broil for a few minutes. Let cool slightly, then garnish with fresh thyme leaves.

    Nutritional analysis per serving (8 servings): 1103 calories; 60 grams fat; 34 grams saturated fat; 0 grams trans fat; 17 grams monounsaturated fat; 3 grams polyunsaturated fat; 84 grams carbohydrates; 5 grams dietary fiber; 16 grams sugars; 57 grams protein; 1313 milligrams sodium

  • I need help choosing my next GPU below 400 Euros
  • The RX6000s offer a lot of bang for the buck since AMD released their fluid motion frame generation. I've been using a 6600 (non-XT) at 1440p and it does surprisingly well. You sure about those prices/specs though? 6750XT for less than 6700XT? And a 6700XT with 16GB?

  • On the search for the ̶b̶e̶s̶t̶ decent presentation making software
  • Not sure if that was a typo but OP mentioned OnlyOffice, not OpenOffice. I don't think OnlyOffice has ever tried to get me to make an account or do things on the cloud. I keep both Only and Libre installed. I like the UI of Only better, but Libre is more functional, at least as far as spreadsheets go which is my main use.

  • Debrid vs usenet and the *arrs?
  • I can't comment on questions 1, 3, and 5 but I have been using Real-Debrid for around four years now (through Kodi mostly because I don't want to have to manage a huge server again, occasionally I download directly to watch later/on a different device/non-video stuff) and I've been pretty happy with them so I'll answer from that perspective.

    Quality is great. As you mentioned in Q4, it works via torrents so if a torrent exists you're free to grab whatever you want. You can stream or download from RD once it's been cached by them. Even 50+GB Bluray remux streams fine directly from them. As for file naming, in the thousands of downloads I've gone through, I think I've come across two incidents where something wasn't named properly and I ended up with something I didn't expect but I believe both of those were Kodi issues, not RD. One was a movie where I got a foreign movie of a similar name and one was a TV series where it kept trying to play the wrong season/episode. In both cases I was able to just manually add the torrent/magnet and RD had it fully downloaded basically instantly or I was able to manually select another file in Kodi. The file names are what you expect with a torrent though with the title/year and all the quality and codec info in the filename so it's hard to get the wrong thing. I don't think I've ever come across deliberately misnamed files. It would get nuked pretty fast, trackers usually take stuff like that pretty seriously.

    Assuming something is relatively available RD seems to be able to grab it very quickly. Like as fast as the page refreshes after adding the torrent/magnet. You also download very quickly from them; I typically see over 100MBs down over my wireless connection in a house with several other people using our connection which is pretty much fully saturating our bandwidth lol. Occasionally I have had issues getting something, but like with most things, the older and more obscure you get the harder it is to find sources for. In that case you may want to be on certain trackers. This is kind of why I like Kodi because there are plugins that focus on different types of media and some may have better luck finding, say, old 90s cartoons while others are better for anime. Once it gets added to my debrid I can go back and grab it/rewatch later. But for more popular stuff, I typically just use one of the big name public trackers. RD grabs it and I get it securely and privately from them. I've never bothered with a VPN and have never had issues.

    One thing that I didn't see mentioned was downtime. Occasionally RD has had some downtime. If you've ever been on the addons4kodi subreddit you've probably seen the posts with people freaking out about it within minutes of it going down. Downtime is typically minimal and usually back up within minutes to a few hours. In a few instances (like maybe twice?) it went down for like 12 hours or longer? Not really sure, if it goes down I just find something else to do and check later in the day or the next day and it's back up. RD has also been known to compensate days worth of service for hours of downtime which is pretty nice. I haven't heard the same about Alldebrid or Premiumize.

    RD also gives you tokens based on the service package you buy (called fidelity points). 1000 points will convert to 30 days of service. I buy 180 days at a time which is currently around $17.33 USD and I get 800 points, so buying a year (~$35) gets me an extra month with points left over. Then the next several 180 day purchases also get extra months with them.

  • [SOLVED] Fixed projectiles get stuck in one direction while holding back movement

    Solution: I removed the else statement from the integrated_forces process and left the two lines from the condition within the process and it fixed it :) Before: func _integrate_forces(state): if Input.is_action_pressed("move_up"): state.apply_force(thrust.rotated(rotation)) if Input.is_action_pressed("strafe_left"): state.apply_force(thrust.rotated(rotation + 4.712)) if Input.is_action_pressed("strafe_right"): state.apply_force(thrust.rotated(rotation + 1.5708)) if Input.is_action_pressed("move_down"): state.apply_force((thrust.rotated(rotation) * -1)) else: state.apply_force(Vector2()) Globals.player_rotation = rotation After: func _integrate_forces(state): if Input.is_action_pressed("move_up"): state.apply_force(thrust.rotated(rotation)) if Input.is_action_pressed("strafe_left"): state.apply_force(thrust.rotated(rotation + 4.712)) if Input.is_action_pressed("strafe_right"): state.apply_force(thrust.rotated(rotation + 1.5708)) if Input.is_action_pressed("move_down"): state.apply_force((thrust.rotated(rotation) * -1)) state.apply_force(Vector2()) Globals.player_rotation = rotation

    Hey guys, making some progress on this game but having a weird issue and I can't figure out what's happening. I'm instancing a ship scene into the level scene based on player selection. Weapon projectile instancing happens in the level scene. Fixed weapons shoot straight forward and this works fine as I'm moving and rotating until I hold the key to move backward, then all of the shots continue firing in the same direction I was facing when I started holding the key. Video example. This was all working fine prior to instancing the player into the scene. Here's the code I'm working with (please disregard the messy code lol).

    level.gd: ``` extends Node2D class_name LevelParent

    var selected_ship = Globals.player_selected_ship var format_ship_resource_path = "res://scenes/ships/ship_%s.tscn" var ship_resource_path = format_ship_resource_path % selected_ship

    var laser_scene: PackedScene = preload("res://scenes/weapons/laser.tscn")

    func _ready(): var ship_scene = load(ship_resource_path) var ship = ship_scene.instantiate() $Player.add_child(ship) ship.connect("shoot_fixed_weapon", _shoot_fixed_weapon) ship.connect("shoot_gimbal_weapon", _shoot_gimbal_weapon)

    func _shoot_gimbal_weapon(pos,direction): var laser = laser_scene.instantiate() as Area2D laser.position = pos laser.rotation_degrees = rad_to_deg(direction.angle()) + 90 laser.direction = direction $Projectiles.add_child(laser)

    func _shoot_fixed_weapon(pos, direction): var laser = laser_scene.instantiate() as Area2D laser.position = pos laser.rotation_degrees = rad_to_deg(Globals.player_rotation) Globals.fixed_hardpoint_direction = Vector2(cos(Globals.player_rotation),sin(Globals.player_rotation)) laser.direction = Globals.fixed_hardpoint_direction.rotated(-1.5708) $Projectiles.add_child(laser) ```

    ship_crescent.gd:

    ``` extends ShipTemplate

    var can_boost: bool = true

    #Weapons variables var can_shoot: bool = true #hardpoint type should use 0=fixed, 1=gimbal, 2=turret #later add ability to have mixed hardpoints var hardpoint_type: int = 0

    #Signals signal shoot_gimbal_weapon(pos,direction) signal shoot_fixed_weapon(pos,direction)

    func _ready(): Globals.boost_max = boost_max

    func _process(delta): Globals.player_pos = global_position #Build out section to target planetary bodies/NPCs/etc for auto routing if Input.is_action_just_pressed("get_cords"): print(str(Globals.player_pos)) #weapon aiming toggle, remove later after hardpoints developed if Input.is_action_just_pressed("gimbal_toggle"): if hardpoint_type == 0: hardpoint_type += 1 else: hardpoint_type -= 1

    if can_boost == false: _boost_recharge(boost_regen*delta) print("boost max: " + str(boost_max)) print("boost regen: " + str(boost_regen)) print("global boost level: " + str(Globals.boost_level)) if Globals.boost_level == boost_max: can_boost = true print("can boost: Boost recharged!") ### WEAPONS ### #Remove LaserTimer when weapon modules are set up

    #Fixed weapon code var player_direction = (Globals.player_pos - $FixedHardpointDirection.position).normalized() if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 0: Globals.laser_ammo -= 1 var hardpoint_positions = $HardpointPositions.get_children() can_shoot = false $Timers/LaserTimer.start() for i in hardpoint_positions: print("ship shot fired") shoot_fixed_weapon.emit(i.global_position, player_direction) #Gimbal weapon code var gimbal_direction = (get_global_mouse_position() - position).normalized() if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 1: Globals.laser_ammo -= 1 var hardpoint_positions = $HardpointPositions.get_children() can_shoot = false $Timers/LaserTimer.start() for i in hardpoint_positions: shoot_gimbal_weapon.emit(i.global_position, gimbal_direction) #Add turret (auto aim system) later

    #Spaceflight physics based controls func _integrate_forces(state): if Input.is_action_pressed("move_up"): state.apply_force(thrust.rotated(rotation)) if Input.is_action_pressed("strafe_left"): state.apply_force(thrust.rotated(rotation + 4.712)) if Input.is_action_pressed("strafe_right"): state.apply_force(thrust.rotated(rotation + 1.5708)) if Input.is_action_pressed("move_down"): state.apply_force((thrust.rotated(rotation) * -1)) else: state.apply_force(Vector2()) Globals.player_rotation = rotation #REWORK boost mechanic. button hold (gradual) vs press (instant), increase cooldown, adjust boost length, add fuel/special requirements for use if Input.is_action_just_pressed("boost") and can_boost: can_boost = false Globals.boost_level = 0 #$Timers/BoostRecharge.start() state.apply_impulse((thrust.rotated(rotation) * 2)) var rotation_direction = 0 if Input.is_action_pressed("turn_right"): rotation_direction += 1 if Input.is_action_pressed("turn_left"): rotation_direction -= 1 state.apply_torque(rotation_direction * torque)

    #modify later to remove globals. Base boost data on ship equipment func _boost_recharge(recharge_rate): Globals.boost_level = clamp(Globals.boost_level + recharge_rate, 0, boost_max) print(Globals.boost_level)

    #Timer timeout functions func _on_boost_timer_timeout(): print("boost depleted")

    func _on_boost_recharge_timeout(): print("boost timer recharged!") can_boost = true

    func _on_laser_timer_timeout(): can_shoot = true ```

    0
    Projectiles are spawning to the side of markers
    lemmy.world Projectiles are spawning to the side of markers - Lemmy.World

    Hey y’all, throwing a little project together in Godot 4.1 to practice stuff I learned after a tutorial project. I’ve set up two markers as my projectile spawn points, but the shots are spawning slightly off from the markers and I can’t figure out why. Code and pics below. I “fixed” it by shifting t...

    Hey y'all, throwing a little project together in Godot 4.1 to practice stuff I learned after a tutorial project. I've set up two markers as my projectile spawn points, but the shots are spawning slightly off from the markers and I can't figure out why. Code and pics below. I "fixed" it by shifting the player sprite2D 5 pixels to the right. Not sure why the spawns are being offset though. NVM that only fixed it at the starting position, the shots are way off when rotating. !In editor you can see the markers at the two tips on the ship.

    !In game you can see the shots spawning just to the side of the markers.

    Edit: I broke the formatting posting on mobile 🙃

    This snippet is from the player script

    ` var player_direction = (Globals.player_pos - $FixedHardpointDirection.position).normalized()

    if Input.is_action_just_pressed("fire_primary") and can_shoot and Globals.laser_ammo > 0 and hardpoint_type == 0:

    Globals.laser_ammo -= 1

    var hardpoint_positions = $ShotStartPositions.get_children()

    can_shoot = false

    $Timers/LaserTimer.start()

    for i in hardpoint_positions:

    player_shot_fixed_weapon.emit(i.global_position, player_direction) `

    And this is from the level script

    ` func _shoot_fixed_weapon(pos, direction):

    var laser = laser_scene.instantiate() as Area2D

    laser.position = pos

    laser.rotation_degrees = rad_to_deg(Globals.player_rotation)

    direction.x = cos(Globals.player_rotation)

    direction.y = sin(Globals.player_rotation)

    Globals.fixed_hardpoint_direction = Vector2(direction.x,direction.y)

    print(Globals.fixed_hardpoint_direction)

    laser.direction = Globals.fixed_hardpoint_direction.rotated(-1.5708)

    $Projectiles.add_child(laser) `

    0
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)DA
    daddybutter @lemmy.world
    Posts 2
    Comments 42