GenerateEssentia
extends Command
Table of Contents
Properties
-
$description
: mixed
-
$signature
: mixed
-
$algorithmMetadata
: array<string|int, mixed>
-
$discoveredAlgorithms
: array<string|int, mixed>
-
$filteredAlgorithms
: Collection
Methods
-
handle()
: int
-
analyzeHeaderFile()
: array<string|int, mixed>
-
categorizeByPath()
: string
-
createDirectoryStructure()
: void
-
discoverAlgorithmsViaHeaders()
: void
-
discoverAlgorithmsViaPython()
: void
-
displayDiscoveryResults()
: void
-
filterAlgorithms()
: Collection
-
findEssentiaSources()
: array<string|int, mixed>
-
generateAlgorithmSpecificExecution()
: string
-
generateAudioVectorClass()
: void
-
generateBaseAlgorithmClass()
: void
-
generateBaseClasses()
: void
-
generateClasses()
: void
-
generateEssentiaFFIClass()
: void
-
generateExceptionClasses()
: void
-
generateIntelligentAlgorithmClass()
: void
-
generateIntelligentAnalyzerClass()
: void
-
generateIntelligentFactoryClass()
: void
-
generateUtilityClasses()
: void
-
generateValidParameters()
: string
-
getPythonIntrospectionScript()
: string
-
processIntrospectionData()
: void
-
scanHeaderDirectory()
: int
-
showDryRun()
: void
-
writeFile()
: void
$description
protected
mixed
$description
= 'Generate PHP FFI wrapper classes for Essentia audio analysis algorithms'
$signature
protected
mixed
$signature
= 'essentia:generate
{--output-path=app/Modules/Essentia : Output directory for generated classes}
{--python-path=python3 : Path to Python executable}
{--include=* : Include only algorithms matching these patterns}
{--exclude=* : Exclude algorithms matching these patterns}
{--categories=* : Include only specific categories}
{--min-count=0 : Minimum number of algorithms per category to include}
{--dry-run : Show what would be generated without creating files}
{--force : Overwrite existing files}
{--skip-python : Skip Python introspection (header-only discovery)}
{--header-paths=* : Additional header search paths}'
private
array<string|int, mixed>
$algorithmMetadata
= []
$discoveredAlgorithms
private
array<string|int, mixed>
$discoveredAlgorithms
= []
$filteredAlgorithms
private
Collection
$filteredAlgorithms
handle()
public
handle() : int
private
analyzeHeaderFile(string $filePath) : array<string|int, mixed>
Parameters
-
$filePath
: string
-
Return values
array<string|int, mixed>
categorizeByPath()
private
categorizeByPath(string $filePath) : string
Parameters
-
$filePath
: string
-
createDirectoryStructure()
private
createDirectoryStructure(string $outputPath) : void
Parameters
-
$outputPath
: string
-
private
discoverAlgorithmsViaHeaders() : void
discoverAlgorithmsViaPython()
private
discoverAlgorithmsViaPython() : void
displayDiscoveryResults()
private
displayDiscoveryResults() : void
filterAlgorithms()
private
filterAlgorithms() : Collection
findEssentiaSources()
private
findEssentiaSources() : array<string|int, mixed>
Return values
array<string|int, mixed>
generateAlgorithmSpecificExecution()
private
generateAlgorithmSpecificExecution(string $algorithm, string $category) : string
Parameters
-
$algorithm
: string
-
-
$category
: string
-
generateAudioVectorClass()
private
generateAudioVectorClass(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateBaseAlgorithmClass()
private
generateBaseAlgorithmClass(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateBaseClasses()
private
generateBaseClasses(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateClasses()
private
generateClasses(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateEssentiaFFIClass()
private
generateEssentiaFFIClass(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateExceptionClasses()
private
generateExceptionClasses(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateIntelligentAlgorithmClass()
private
generateIntelligentAlgorithmClass(string $algorithm, string $outputPath) : void
Parameters
-
$algorithm
: string
-
-
$outputPath
: string
-
generateIntelligentAnalyzerClass()
private
generateIntelligentAnalyzerClass(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateIntelligentFactoryClass()
private
generateIntelligentFactoryClass(array<string|int, mixed> $algorithms, string $outputPath) : void
Parameters
-
$algorithms
: array<string|int, mixed>
-
-
$outputPath
: string
-
generateUtilityClasses()
private
generateUtilityClasses(string $outputPath) : void
Parameters
-
$outputPath
: string
-
generateValidParameters()
private
generateValidParameters(string $algorithm, string $category) : string
Parameters
-
$algorithm
: string
-
-
$category
: string
-
getPythonIntrospectionScript()
private
getPythonIntrospectionScript() : string
processIntrospectionData()
private
processIntrospectionData() : void
private
scanHeaderDirectory(string $directory) : int
Parameters
-
$directory
: string
-
showDryRun()
private
showDryRun() : void
writeFile()
private
writeFile(string $path, string $content) : void
Parameters
-
$path
: string
-
-
$content
: string
-