Opened 3 years ago

Last modified 3 years ago

#17503 new bug

/boot/home/config/non-packaged/data/synth not seen by InternalMIDI

Reported by: CDavis Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/beta3
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

I tried building InternalMIDI from make to see if this gets around it, but I think unless builders of InternalMIDI has their path selection method wrong, then its a haiku bug.

Change History (2)

comment:1 by Starcrasher, 3 years ago

It would be interesting to also test /boot/system/non-packaged/data/synth to see if it ends up with same result.

comment:2 by humdinger, 3 years ago

This seems to be an issue with InternalMidi. It uses find_directory() looking for B_SYNTH_DIRECTORY:

https://github.com/HaikuArchives/InternalMIDI/blob/master/source/Prefs.cpp#L30 :

	find_directory(B_SYNTH_DIRECTORY, &fSynthDirectory );
	fSynthDirectory.SetTo( fSynthDirectory.Path(), "synth" );

B_SYNTH_DIRECTORY isn't defined as "official location" in the FindDirectory header, but in MidiDefs.h as B_SYSTEM_DATA_DIRECTORY. Therefore InternalMidi will only find synths from a package which will appear in /system/data/synth (when installed in the system hierarchy).

InternalMidi should use BPathFinder to look through all possible locations, I suppose.

Note: See TracTickets for help on using tickets.